Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django DRF同时发布图像和文本_Django_Django Rest Framework - Fatal编程技术网

Django DRF同时发布图像和文本

Django DRF同时发布图像和文本,django,django-rest-framework,Django,Django Rest Framework,这就是我的模型的样子: 类示例模型(models.Model): text=models.CharField(最大长度=2) image=models.ImageField(上传到=“一切就绪。别担心。”) 我有一个标准序列化程序: class ExampleSerializer(serializers.ModelSerializer): 类元: 模型=示例模型 fields=“\uuuu all\uuuuuu” 然后是我的观点: class ExampleView(ViewSet.Mode

这就是我的模型的样子:

类示例模型(models.Model):
text=models.CharField(最大长度=2)
image=models.ImageField(上传到=“一切就绪。别担心。”)
我有一个标准序列化程序:

class ExampleSerializer(serializers.ModelSerializer):
类元:
模型=示例模型
fields=“\uuuu all\uuuuuu”
然后是我的观点:

class ExampleView(ViewSet.ModelViewSet):
queryset=ExampleModel.objects.all()
serializer\u class=ExampleSerializer
权限\类=(permissions.IsAuthenticatedOrReadOnly,)
parser_classes=(MultiPartParser,FormParser)
def post(自我、请求、*args、**kwargs):
file\u serializer=ExampleSerializer(data=request.data)
如果文件\u serializer.is\u有效():
文件_serializer.save()
返回响应(文件\u serializer.data,status=status.HTTP\u 201\u已创建)
其他:
返回响应(file\u serializer.errors,status=status.HTTP\u 400\u BAD\u请求)
我想知道的是
a)我正在尝试使用Python请求填充文本和模型字段
requests.post(url,headers=“令牌(已处理)”,“如何放入正文?在何处以及如何添加图像和文本?”

b)是否需要更改或添加序列化程序、视图或其他内容以满足我的要求

感谢您的帮助。感谢您花时间阅读此内容:)

编辑:另外,如何更新已经存在的对象?我只能在旧版Django中找到这些内容。

a)您可以像这样发布文本和图像:

image_file = {'image': open('test.jpg', 'rb')}
headers = {
    'Content-Type': 'multipart/form-data',
} 
jsondata = {'text': 'hello_world'}
requests.post(url, headers=headers, data=jsondata, files=image_file)

b) 无需更新序列化程序

谢谢您的回复。但这不会发送
数据,只发送图像。好的,从标题中删除
的“内容类型”