使用Django Rest框架上传文件时出错;没有提交任何文件。”;
在尝试使用邮件头中包含内容类型为-multipart/form数据的Postman上载文件时。我正在传递这两个字段,但出现以下错误: 错误:{“上载到”:[“此字段是必需的。”],“文件对象”:[“否” 已提交文件。“]} url.py views.py 序列化程序.py models.py使用Django Rest框架上传文件时出错;没有提交任何文件。”;,django,django-file-upload,Django,Django File Upload,在尝试使用邮件头中包含内容类型为-multipart/form数据的Postman上载文件时。我正在传递这两个字段,但出现以下错误: 错误:{“上载到”:[“此字段是必需的。”],“文件对象”:[“否” 已提交文件。“]} url.py views.py 序列化程序.py models.py 请帮助…我不知道出了什么问题。我已按下面的方式更改了models.py文件,它按预期工作 models.py 您是否记得在提交表单的模板中包含enctype=“multipart/form data” fr
请帮助…我不知道出了什么问题。我已按下面的方式更改了models.py文件,它按预期工作 models.py
您是否记得在提交表单的模板中包含
enctype=“multipart/form data”
from django.conf.urls import include, url
from rest_framework_nested import routers
from utils.views import TemporaryImageView
from . import views
router = routers.SimpleRouter(trailing_slash=False)
urlpatterns = [
url(r'^', include(router.urls)),
url(r'^upload-temp-image/$', TemporaryImageView.as_view())
]
from rest_framework import viewsets, filters
import django_filters.rest_framework
from rest_framework.generics import CreateAPIView
from rest_framework.parsers import FileUploadParser, MultiPartParser, FormParser
from utils.serializers.temporary_image import TemporaryImageSerializer
class TemporaryImageView(CreateAPIView):
parser_classes = (MultiPartParser,)
serializer_class = TemporaryImageSerializer
from rest_framework import serializers
from utils.models.tempfile import TemporaryFile
class TemporaryImageSerializer(serializers.ModelSerializer):
choices = (('Company Logo','/company/logos/'),
)
upload_to = serializers.ChoiceField(choices=choices)
file_object = serializers.ImageField()
class Meta:
model = TemporaryFile
fields = ('upload_to', 'file_object')
from django.db import models
class TemporaryFile(models.Model):
"""
a temporary file to backend
"""
file_object = models.FileField(blank=False, null=False)
timestamp = models.DateTimeField(auto_now_add=True)
def __unicode__(self):
return str(self.id)
from django.db import models
def get_image_path(instance, filename):
if instance.upload_to == "company_logo":
path = 'company/logo/'
return path
class TemporaryFile(models.Model):
"""
a temporary file to backend
"""
file_object = models.FileField(blank=False, null=False, upload_to=get_image_path)
timestamp = models.DateTimeField(auto_now_add=True)
def __unicode__(self):
return str(self.id)
def __init__(self, *args, **kwargs):
self.upload_to = kwargs.pop("upload_to")
super(TemporaryFile, self).__init__(*args, **kwargs)