【发布时间】: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/yourproject、644或其他.. -
我只是觉得,如果您的配置看起来不错,可能您遇到了与this question 相关的问题。附带说明一下,如果您在浏览器中检查图像的完整路径,例如:
http://127.0.0.1:8000/media/images/events/old.jpg并且权限被拒绝。 -
我在windows机器上,权限应该不是问题。
标签: django django-1.10