我是 Django 新手,目前在 Django Admin 中显示上传的图像时遇到问题。我在 stackoverflow 中关注了许多发布的 Q 和 A,但其中一些在我的问题中起作用。我希望这里任何活跃的编码忍者都可以帮助我解决这个问题。这是问题的详细视图:
我在settings.py中定义了 MEDIA_ROOT 和 MEDIA_URL
BASE_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 版