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 %}
これは非常に一般的な問題 (タグ引数の引数、kwargs パーサー) であるように思われるため、django スニペットまたは何かが必要です!