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) 无需更新序列化程序谢谢您的回复。但这不会发送
数据,只发送图像。好的,从标题中删除的“内容类型”
。