【发布时间】:2016-05-30 06:25:55
【问题描述】:
我在返回的图片 url 中遇到问题,这是不正确的。
我的返回图片网址是"http://127.0.0.1:8000/showimage/6/E%3A/workspace/tutorial_2/media/Capture1.PNG"
但我需要
"http://127.0.0.1:8000/media/Capture1.PNG"
当我点击image_url 然后在新的浏览器选项卡中打开图片
但目前它显示的错误:
view.py
from showimage.models import ShowImage
from showimage.serializers import ShowImageSerializer
from rest_framework import generics
# Create your views here.
class ShowImageList(generics.ListCreateAPIView):
queryset = ShowImage.objects.all()
serializer_class = ShowImageSerializer
class ShowImageDetail(generics.RetrieveUpdateDestroyAPIView):
queryset = ShowImage.objects.all()
serializer_class = ShowImageSerializer
model.py
from __future__ import unicode_literals
from django.db import models
from django.conf import settings
# Create your models here.
class ShowImage(models.Model):
image_name = models.CharField(max_length=255)
image_url = models.ImageField(upload_to=settings.MEDIA)
serializer.py
from rest_framework import serializers
from showimage.models import ShowImage
class ShowImageSerializer (serializers.ModelSerializer):
class Meta:
model = ShowImage
fields = ('id', 'image_name', 'image_url')
settings.py
MEDIA=os.path.join(BASE_DIR, "media")
urls.py
from django.conf.urls import url, include
from django.contrib import admin
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^showimage/', include('showimage.urls')),
]
我是 python 和 django-rest-framework 的新手。 还请告诉我我们如何扩展模型或序列化类
【问题讨论】:
-
“扩展模型”是什么意思。你想达到什么目标?
-
所有你的图片 url 看起来都非常奇怪和错误......你的错误图片中的那个(你应该包括作为文本顺便说一句)正试图链接到一个对每个人都无用的 E 驱动器参与该请求。然后你的其他人不应该关心它托管在哪个端口或域上。
标签: python django django-models django-views django-rest-framework