gpt4 book ai didi

python - Django:MEDIA_URL 未在模板中设置

转载 作者:太空狗 更新时间:2023-10-29 19:31:19 25 4
gpt4 key购买 nike

我已经阅读了很多问题和文章,但找不到我遗漏的内容。

这是我的 session :

settings.py

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

STATIC_URL = '/static/'

STATICFILES_DIRS = (
os.path.join(os.path.dirname(__file__),'static').replace('\\', '/'),
)

urls.py

urlpatterns = [
url(r'^$', include('home.urls')),
url(r'^admin/', include(admin.site.urls)),
url(r'^artist/', include('artists.urls')),
url(r'photo/', include('photo.urls'))
]
urlpatterns += staticfiles_urlpatterns()
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

不管怎样,我的媒体都得到了服务,因为当我去 http://localhost:8000/media/path/to/image.jpg , 我有我的形象。

但是在模板中我是这样的:

<img class="avatar secondary-content" src="{{MEDIA_URL}}{{artist.artist_image}}">

我只有图片路径。当我通过“/media/”更改 html {{MEDIA_URL}} 时,它起作用了。

看来我的 MEDIA_URL 没有在模板中设置,据我搜索,我看不出我错过了什么。

我正在使用 django 1.8.2。如果您需要任何信息,请问我。

最佳答案

您需要定义django.template.context_processors.media模板上下文处理器 在您的设置中,MEDIA_URL 变量出现在模板上下文中。

If this processor is enabled, every RequestContext will contain a variable MEDIA_URL, providing the value of the MEDIA_URL setting.

将此包含在您的设置中将在模板上下文中包含MEDIA_URL。它在 Django 1.8 设置中默认不包含。我们需要明确地设置它。

context_processors = [
...
'django.template.context_processors.media', # set this explicitly
]

关于python - Django:MEDIA_URL 未在模板中设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31925009/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com