Python Can';在Django Flatpage中不使用{MEDIA_URL}}?
这是一个相当简单的问题,如果需要的话,我会详细说明,以解决这个问题 我试图使用对Python Can';在Django Flatpage中不使用{MEDIA_URL}}?,python,html,django,django-templates,django-flatpages,Python,Html,Django,Django Templates,Django Flatpages,这是一个相当简单的问题,如果需要的话,我会详细说明,以解决这个问题 我试图使用对{MEDIA\u URL}}的简单调用,以便在About Us Django flatpage上显示图像,但flatpage似乎忽略了它是Django变量这一事实,而只是将{MEDIA\u URL}作为文本 我提供了:但是当呈现模板时,它不会将媒体URL附加到它应该附加的位置,它只会留下单词{{MEDIA\u URL} 我是不是错过了什么重要的东西?控制flatpage的default.html扩展了我常用的模板,因
{MEDIA\u URL}}
的简单调用,以便在About Us Django flatpage上显示图像,但flatpage似乎忽略了它是Django变量这一事实,而只是将{MEDIA\u URL}
作为文本
我提供了:
但是当呈现模板时,它不会将媒体URL附加到它应该附加的位置,它只会留下单词{{MEDIA\u URL}
我是不是错过了什么重要的东西?控制flatpage的default.html扩展了我常用的模板,因此我看不出失败的原因,除非我不明白flatpage可以访问什么?您可以通过templatetag访问flatpage中的
媒体URL
。
它搜索{{MEDIA\u 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 }}
要进行设置,请将上述代码放入一个名为
media\u url.py
的文件中,该文件位于一个INSTALLED\u APPS
的templatetags
目录中,然后将过滤器添加到flatpages模板中,就像这样可能重复@AamirAdnan这个问题与您标记为重复的内容无关。@karthikr如何?媒体URL和其他模板标记或上下文有什么区别?@AamirAdnan问题是,如何在flatpages中启用MEDIA\u URL
,而不是如何使flatpages接受模板标记。有很多方法可以做到这一点,这是一个完美的,简单的解决方案,需要一个问题。谢谢你,卡提克!