gpt4 book ai didi

python - 无法在 Django Flatpages 中使用 {{MEDIA_URL}}?

转载 作者:行者123 更新时间:2023-11-30 21:50:30 26 4
gpt4 key购买 nike

一个相当简单的问题,如果需要的话我会详细说明以解决问题。

我尝试使用对 {{ MEDIA_URL }} 的简单调用为了在关于我们 Django 平面页面上显示图像,但平面页面似乎忽略了它是 Django 变量这一事实,只是简单地采用 {{MEDIA_URL}}作为文本?

我提供:<img src="{{ MEDIA_URL }}images/static/Deb-and-Diana-About-Us.jpg" alt="Deb &amp; Diana Portrait" width="300" height="384" align="left">但是当模板呈现时,它不会将 MEDIA_URL 附加到应有的位置,它只会留下单词 {{ MEDIA_URL }} .

我是否缺少导入或其他内容?管理平面页面的default.html扩展了我常用的模板,所以我看不出为什么会失败,除非我不明白平面页面可以访问哪些内容?

最佳答案

您可以通过模板标签访问平面页面中的MEDIA_URLLook at this snippet它会搜索 {{ MEDIA_URL }} 并将其替换为您设置中找到的内容。

from django import template
from django.conf import settings
from django.template.defaultfilters import stringfilter

register = template.Library()

@register.filter
@stringfilter
def media_url(value):
"""Searches for {{ MEDIA_URL }} and replaces it with the MEDIA_URL from settings.py"""
return value.replace('{{ MEDIA_URL }}', settings.MEDIA_URL)
media_url.is_safe = True

以及用法:

{% load media_url %}
{{ flatpage.content|media_url }}

要进行设置,请将上述代码放入 INSTALLED_APPS 之一的 templatetags 目录中名为 media_url.py 的文件中,然后将过滤器添加到您的平面模板中,如下所示

关于python - 无法在 Django Flatpages 中使用 {{MEDIA_URL}}?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17689257/

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