无法从Django Rest API获取图像

时间:2016-03-09 11:49:45

标签: python django django-rest-framework

我正在学习Django Rest Framework&面临一些问题。

我有一个小的Task App API。

我可以在服务器上保存图像,但无法从API图像超链接中获取图像。

我的Model.py

class Task(models.Model):
    task_name = models.CharField(max_length=30)
    task_desc = models.CharField(max_length=30)
    image = models.ImageField(upload_to = 'pic_folder/', default = 'pic_folder/None/no-img.jpg')

Views.py

class TaskViewSet(viewsets.ModelViewSet):
    queryset = Task.objects.all()
    serializer_class = TaskSerializer

serializer.py

class TaskSerializer(serializers.HyperlinkedModelSerializer):
    image = serializers.ImageField(
            max_length = None, use_url=True
        )   
    class Meta:
        model = Task
        fields = ('id','task_name','image')

settings.py

MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
MEDIA_URL = '/media/'

APP结构: -

TaskAPI  (Base Dir)
    TaskAPP
     media

我可以成功发出POST请求&它显示正确的图像链接,但当我点击图像链接时,它会给出错误。

enter image description here

错误: - enter image description here 请建议如何从链接获取图像。

1 个答案:

答案 0 :(得分:1)

您未在media url

中加入urls.py
from django.conf.urls.static import static
from django.conf import settings

urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

请参阅有关提供媒体和静态文件的docs