我正在使用DjangoRESTFramework 3.5.4Django1.9Python3.5和Angular1.4.5。我遇到了一个问题,我可以上传/发布到一个图像端点,但我得到的响应是DRF模板,而不是我所期望的JSON。你知道吗
型号.py
class BeforeImage(models.Model):
job = models.ForeignKey(Job, related_name='before_images')
before_image = models.ImageField(upload_to='images/', default='images/no-image.jpg')
def __str__(self):
return self.pk
class Meta:
db_table = 'before_images'
序列化程序.py
class BeforeImageSerializer(ModelSerializer):
before_image = ImageField(
max_length=None, allow_empty_file=False, use_url=True)
class Meta:
model = BeforeImage
fields = ('id', 'job', 'before_image')
视图.py
class BeforeImageViewSet(ModelViewSet):
queryset = BeforeImage.objects.all()
serializer_class = BeforeImageSerializer
有效载荷
------WebKitFormBoundarybB5wAXF1Q6ZaG9pB Content-Disposition: form-data; name="job" 10 ------WebKitFormBoundarybB5wAXF1Q6ZaG9pB Content-Disposition: form-data; name="before_image"; filename="Screen Shot 2017-04-10 at 11.44.24 PM.png" Content-Type: image/png ------WebKitFormBoundarybB5wAXF1Q6ZaG9pB--
内容类型
Content-Type:multipart/form-data;
这就是内容协商,提交表单时首选的呈现器是HTML,因为这与浏览器是一致的。你知道吗
如果您想要一个JSON响应,您应该确保您的请求设置了头,以便它得到JSON。换句话说,您需要将
Accept
头设置为application/json
相关问题 更多 >
编程相关推荐