django中的templatetags与自定义模板标签和过滤器

时间:2020-01-10 16:36:21

标签: django

templatetags like the simple_tagthe templatetag tag reference?有什么区别。为了更好地表达我的问题,templatetag是用于自定义模板标签和过滤器还是完全用于其他目的?

1 个答案:

答案 0 :(得分:0)

this JsFiddle templatetag用于创建可在模板中加载和调用的自定义函数。在执行常见任务时很有用 需要执行的操作,例如,仅给定命名空间时,生成包含查询字符串的url:

from django import template
from django.urls import reverse
from urllib.parse import urlencode

register = template.Library()

@register.simple_tag(takes_context=True)
def url_qs(context, namespace):
    url = reverse(namespace)
    return url + '?' + urlencode(context['querystring'])

former templatetag用于转义Django模板引擎会将其解释为特殊字符的符号,例如。双括号{{。此版本的templatetag几乎没有用,因为您只能使用latter

例如,如果要使用方括号{{,则必须使用templatetag:

{% templatetag openvariable %}

或使用转义码:

{{