我正在学习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请求&它显示正确的图像链接,但当我点击图像链接时,它会给出错误。
答案 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。