【发布时间】:2017-01-07 11:54:46
【问题描述】:
我是 Django 新手,目前在 Django Admin 中显示上传的图像时遇到问题。我在stackoverflow中关注了许多发布的Q和A,但其中一些在我的问题中起作用。我希望这里任何活跃的编码忍者都可以帮助我解决这个问题。这是问题的详细视图:
-
我已经在 settings.py
中定义了 MEDIA_ROOT 和 MEDIA_URLBASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) MEDIA_ROOT = os.path.join(BASE_DIR, "media") MEDIA_URL = "/media/" -
这是我在 models.py 中的上传模型:
from django.utils.html import mark_safe class ImageDetails(models.Model): image = models.ImageField(null=True) def image_img(self): if self.image: return mark_safe('<img src="%s" height="125px" width="125px"/>' % (self.image.url)) else: return '(No image found)' image_img.short_description = 'Thumbnail' -
在我的应用程序 urls.py:
urlpatterns = [ url(r'^inputImage', views.inputImage, name='inputImage'), url(r'', views.index), ] urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT) -
在我的 admin.py 中:
class ImageDetailsAdmin(admin.ModelAdmin): fields = ["image"] #for file upload list_display = ("image_img",) admin.site.register(ImageDetails, ImageDetailsAdmin)
图像已成功存储在 ProjectDIR/media。 HTML 在 img 标记处返回 url:http://127.0.0.1:8000/media/imagename.jpg。但是页面无法加载图像(每当使用 url http://127.0.0.1:8000/media/imagename.jpg 时,我都会被重定向到索引页面)。我正在使用 Django 1.10 版
【问题讨论】:
-
检查 MEDIA_URL - 你已经分配了两次。我认为您的意思是在第一次出现时使用 MEDIA_ROOT。
-
奥普斯。这实际上是原始代码中的媒体根。在这里完成编辑。
标签: python django django-admin django-urls django-1.10