2013-02-16 14 views
5

Djangoにはカスタムテンプレートタグを作成するための素晴らしいツールが同梱されています。カスタムテンプレートタグargsとkwargsパーサー

レジスタsimple_tagと代入タグは、両方とも受信トークンの内容を解析し、その参照に正しく解決されたargs, kwargsに変換します(変数が渡されたとします)。

この動作を通常のタグに追加する簡単な方法はありますか?

parserオブジェクトを使用する必要があるので、通常のタグを使用する必要がありますが、args, kwargsパーサーを再現するためのコードがたくさんあるようです。それはこのように思える

{% snippet foo=bar bar=baz %} 
This is a glorious django template tag! 
{% endsnippet %} 

は、このような共通の問題である、それはDjangoのスニペットを持っているか、必要があること(引数、タグの引数のためのパーサを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 

は、私はこのような機能は、タグを必要とします何か!

答えて

5

あなたに役立つスニペットが見つかりました。

Tag that parses args and kwargs

+0

サイモン、あなたは男です!ありがとうございました! –

+0

心配はいりません。お役に立てて嬉しいです。これがあなたの質問に答えることを願っています。 –

+0

私はまだそれをテストする機会がありますが、それがうまくいくと仮定して受け入れます! –

関連する問題