我在名为custom_tags.py
的文件中定义了一个自定义模板标签:
from django.conf import settings
from django import template
register = template.Library()
@register.simple_tag
def currencysymbol():
if settings.LANGUAGE_CODE == 'en-gb':
return '£'
else:
return 'unknown'
在模板中引用了哪个:
{% load custom_tags %}
{{ currencysymbol }}
问题在于它无法渲染。肯定是在加载库,因为我将加载标记修改为{% load foo %}
,它正确地告诉我该库不存在,并列出了'custom_tags'作为可用选项之一。
但是,{{ currencysymbol }}
完全不呈现任何内容。为了确保它不是我的功能,我对其进行了修改,使其仅返回一个字符串(不包含if / else和设置内容),但仍不呈现任何内容。
我相信我已经遵循了文档,所以我不确定发生了什么。页面呈现没有错误,但是我的标签根本不在那儿。
答案 0 :(得分:1)
您定义了一个标签,因此,您应该像这样使用它:
{% currencysymbol %}
因此,使用{% .. %}
括号,不是:
{{ currencysymbol }}
{{ .. }}
用于变量 。