Как загрузить файл в File Filed в Django автоматически в бэкенде без ручного выбора во фронтенде
Мой models.py
from django.db import models
# Create your models here.
class Result(models.Model):
Id = models.AutoField(primary_key=True, blank=False)
Name = models.CharField(max_length=100)
# Date = models.DateTimeField(auto_now=False, auto_now_add=False)
# Comments = models.TextField(max_length=256)
File = models.FileField(blank=False)
Мой views.py
from django.shortcuts import render
from contextmapping.Connection import Connection
from rest_framework.response import Response
from rest_framework.decorators import action
from django.shortcuts import render
from rest_framework import viewsets,status
from rest_framework.authentication import TokenAuthentication
from rest_framework.permissions import IsAuthenticated
from result.models import Result
class ResultViewSet(viewsets.ModelViewSet):
queryset = Result.objects.all()
serializer_class = Result
authentication_classes = (TokenAuthentication,)
permission_classes = (IsAuthenticated,)
@action(detail=True,methods=['GET'])
def resultfill(self,request,pk=None):
response={'message':'its working'}
return Response(response,status=status.HTTP_200_OK)
У меня есть файл data1.py в папке, я хочу запустить функцию resultfill в views.py по url, и хочу указать путь к этому файлу, и этот файл должен автоматически загружаться в File в models.py . Как этого добиться?
Вы можете использовать default в поле file и указать путь к файлу. Если вы установили все URLs медиа и статических файлов в настройках, то вы можете просто добавить 'data1.py' в качестве default.
class Result(models.Model):
Id = models.AutoField(primary_key=True, blank=False)
Name = models.CharField(max_length=100)
# Date = models.DateTimeField(auto_now=False, auto_now_add=False)
# Comments = models.TextField(max_length=256)
File = models.FileField(default='data1.py')
Это свяжет ваши объекты с этим файлом, представляя, что у вас есть 'media/data1.py' в качестве местоположения файла в случае, если вы не загрузите свой собственный файл из frontend или backend.