【发布时间】:2015-09-11 11:45:39
【问题描述】:
我是 python 和 django 的新手。我在模型中添加了一个图像字段...
class Entry(models.Model):
title = models.CharField(max_length=255)
body = MarkdownField()
image = models.ImageField(upload_to='images',null=True,blank=True)
然后,当我编写如图所示的简单 django 休息视图时,它工作正常。
class EntryView(viewsets.ModelViewSet):
queryset = Entry.objects.all()
serializer_class = EntrySerializer
这里,django rest API 中的 image 字段显示如下:
"图片": "http://localhost:8000/media/images/x_4.jpg",
现在,当我在视图中覆盖列表方法时,服务器 url 部分即“http://localhost:8000”消失了,剩下的就剩下了。 我提到的新观点是:
class EntryView(viewsets.ModelViewSet):
queryset = Entry.objects.all()
serializer_class = EntrySerializer
lookup_field = 'title'
def list(self, request,*kwargs):
queryset=Entry.objects.filter(publish=True)
serializer = EntrySerializer(queryset,many=True)
return Response(serializer.data)
我提到的 django rest API 中的 image 字段变成了这样:
"图片": "/media/images/x_4.jpg",
当我覆盖列表方法时,我想要 API 中图像字段中的完整 URL。
帮助!
【问题讨论】: