我正在学习 Django Rest Framework 并遇到了一些问题。
我有一个小型任务应用程序 API。
我可以在服务器上保存图像,但无法从 API 图像超链接获取图像。
我的模型.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')
View .py
class TaskViewSet(viewsets.ModelViewSet):
queryset = Task.objects.all()
serializer_class = TaskSerializer
序列化器.py
class TaskSerializer(serializers.HyperlinkedModelSerializer):
image = serializers.ImageField(
max_length = None, use_url=True
)
class Meta:
model = Task
fields = ('id','task_name','image')
设置.py
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
MEDIA_URL = '/media/'
APP 结构:-
TaskAPI (Base Dir)
TaskAPP
media
我可以成功发出 POST 请求,它显示正确的图像链接,但是当我点击图像链接时,出现错误。
最佳答案
您没有在 urls.py
中包含 media url
from django.conf.urls.static import static
from django.conf import settings
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
参见 docs关于服务媒体和静态文件。
关于python - 无法从 Django Rest API 获取图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35890814/