2013-02-16 59 views
5

Django附带一些用于制作自定义模板标签的好工具。自定义模板标签args和kwargs分析器

注册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 %} 

看起来这是这样一个共同的问题(一个指定参数时,kwargs解析器标签参数),它应该有一个Django的片段或什么!

回答

5

我发现也许能帮助你的一个片段。

Tag that parses args and kwargs

+0

西蒙,你是男人!谢谢! – 2013-03-01 19:24:30

+0

不用担心。很高兴我能帮上忙。希望这已经回答了你的问题。 – 2013-03-02 13:06:20

+0

我还没有机会测试它,但我会接受假设它的工作原理! – 2013-03-15 19:51:38