【问题标题】:django 1.10 media image not showing updjango 1.10 媒体图像未显示
【发布时间】:2017-07-08 06:43:39
【问题描述】:

我无法在模板上显示管理员用户通过 admin 上传的图像。

settings.py

MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')

url.py

from django.conf.urls import url
from django.conf import settings
from django.conf.urls.static import static
from django.contrib import admin

import web.views

urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'^', web.views.home, name='home')
]

if settings.DEBUG:
    urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

page.html

<img src="{{ event.image.url }}" alt="{{ event.title }}" />

也试过了

<img src="{% get_media_prefix %}{{ event.image.url }}" alt="{{ event.title }}" />

我不确定我错过了什么。感谢您的帮助。

-------------更新--------------

【问题讨论】:

  • {{ event.image.url }} 的输出是什么?它是否显示了您期望的相对路径?
  • /media/images/events/old.jpg 是我得到的。是的,路径是正确的。
  • 让我知道您的三路径项目...以及您的项目现在在哪里运行?部署在服务器上还是在本地开发下?我以前的项目与您在服务器下部署的案例类似。一个原因是路径项目的权限,还有文件。并修复更改了该权限,例如文件的chown -R www-data:www-data /path/to/yourproject644 或其他..
  • 我只是觉得,如果您的配置看起来不错,可能您遇到了与this question 相关的问题。附带说明一下,如果您在浏览器中检查图像的完整路径,例如:http://127.0.0.1:8000/media/images/events/old.jpg 并且权限被拒绝。
  • 我在windows机器上,权限应该不是问题。

标签: django django-1.10


【解决方案1】:

我已更改主路径以删除导致路由在媒体 url 之前匹配它的正则表达式。

    url(r'', web.views.home, name='home')

【讨论】:

    猜你喜欢
    • 2017-01-11
    • 2021-10-12
    • 1970-01-01
    • 2021-06-24
    • 1970-01-01
    • 2016-10-18
    • 1970-01-01
    • 2017-04-04
    • 2021-07-09
    相关资源
    最近更新 更多