我尝试发送 POST 请求。
我尝试从包含图像数组的 javascript 发布数据 (FormData) 我控制台中的print(request.data)命令显示了这一点:
<QueryDict:
{'title': ['testTitle'], 'text': ['testText'],
'images': [<InMemoryUploadedFile: 486217.jpg (image/jpeg)>,
<InMemoryUploadedFile: 344611.jpg (image/jpeg)>,
<InMemoryUploadedFile: default.png (image/png)>]
}>
django 中的代码:models.py
class Article(models.Model):
title = models.CharField(max_length=120)
text = models.TextField()
create_time = models.DateTimeField(default=datetime.utcnow, blank=True,
null=True)
def __str__(self):
return self.title
class ArticleImage(models.Model):
article = models.ForeignKey(Article, related_name='images',
on_delete=models.CASCADE)
img = models.ImageField(upload_to='article_images/')
is_main = models.BooleanField(default=False,blank=True,null=True)
create_time = models.DateTimeField(default=datetime.utcnow, blank=True,
null=True)
def __str__(self):
return self.article.title
视图.py
class ArticleMixinView(generics.GenericAPIView,
mixins.ListModelMixin,
mixins.CreateModelMixin,
...)
serializer_class = ArticleSerializer
queryset = Article.objects.all()
lookup_field = 'id'
def post(self, request):
print(request.data)
new_article = Article.objects.create(title=request.data.get('title'),
text=request.data.get('text'))
new_article.save()
for img in request.data.get('images'):
# article_img = ArticleImage(article=new_article,img=File(img),
# is_main=False )
# article_img.save()
return Response({
'article': ArticleSerializer(new_article,
context=self.get_serializer_context()).data
})
Article 对象的创建工作正常,但我遇到了这个数组的一些问题。出了什么问题,或者我如何从InMemoryUploadedFile对象获取图像????请任何帮助。谢谢转发)