媒体文件不能在Django localhost上的模板中工作

时间:2017-09-24 17:13:50

标签: python django

尝试在本地设置媒体。在模板中,生成的路径似乎是正确的,看起来像/media/event_img/1058

<div style="height: 201px; background: url('{{ event.image.url }}')  no-repeat; background-size: cover;background-color: #091026;"></div>

但是,仍然没有显示图片(每个项目都存在,我手动检查),如果输入http://localhost:8000/media/event_img/1058,我只会收到404错误,找不到网址格式。

在settings.py中:

MEDIA_ROOT = 'files/media/'

MEDIA_URL = '/media/'

可能有什么问题?在哪里寻找问题?据我了解文档,此设置足以输出媒体文件。

1 个答案:

答案 0 :(得分:1)

提供media目录的有效完整路径。

settings.py

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

urls.py

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

这需要一个名为files的目录manage.py,其中包含目录media,其中包含上传的文件。

参考:MEDIA_ROOT docs in Django 1.11