2012-01-03 5 views
2

私は1つは、このような2つの引数を指定してDjangoテンプレートタグを作成するにはどうすればよいですか?

{{ "abcdef"|makeUppercase }} 

としてDjangoのテンプレートでテンプレートフィルタを作成することができることを知っていますが一つはDjangoの二つの引数を受け入れるテンプレートフィルタを作成することはできますか?私がmを底とする対数を見つけたテンプレートフィルタを作成したかったとします。それ、どうやったら出来るの?

ありがとうございます。

答えて

4

これはテンプレートタグではなく、テンプレートフィルタです。そして、はい、追加の引数を受け入れることができます:

{{ foo|my_filter:"bar" }} 

このフィルタの引数は、fooと "bar"の値です。 2つの引数だけを送ることができることに注意してください。さらに必要な場合は、カンマで区切られた2番目の引数の中にそれらを渡し、テンプレート内で解析する必要があります。

スタンドアロンのテンプレートタグが必要な場合は、@simpletagデコレータを使用して、好きなだけ多くの引数を取ることができます。これらは、通常のタグ構文によって呼び出されます。

{% my_tag foo bar baz %} 
関連する問題