Django附带了一些很棒的工具来制作自定义模板标签。
注册simple_tag和assignment_tag都会解析传入的令牌内容,并将它们转换为args, kwargs
正确解析为其引用(比如传入一个变量)。
是否有一种简单的方法可以将此行为添加到常规标记中?
我需要使用parser
对象,所以我需要使用常规标记,但似乎我正在浏览大量代码来重现args, kwargs
解析器。
@register.tag(name='snippet')
def snippet_with_defaults(parser, token):
bits = token.split_contents()[1:]
bits # bits needs to be converted to args, kwargs easily
我需要一个功能如下的标签:
{% snippet foo=bar bar=baz %}
This is a glorious django template tag!
{% endsnippet %}
看起来这是一个常见的问题(标签参数的args,kwargs解析器),它应该有一个django片段或其他东西!
答案 0 :(得分:5)
我找到了一个可以帮助你的片段。
答案 1 :(得分:0)
您也可以在新的Django中使用它。
from django import template
template.base.token_kwargs(bits,