私はカスタムシンプルタグを持っていました。そして、私は引数としてフィルタを使用することはできないようです。django - simple_tagへの引数にフィルタを使用する
ここは例です。 mysum
がタグです。 myincrease
はフィルタです。 foobar
は変数で、foobar|myincrease
をmysum
に渡したいとします。
テンプレート:
{% mysum foobar|myincrease 1 2 %}
はエラーを与える:
TemplateSyntaxError at/
Caught VariableDoesNotExist while rendering: Failed lookup for key [foobar|myincrease] in ...
タグ:
@register.simple_tag
def mysum(a, b, c):
return a + b + c
フィルタ:
@register.filter
def myincrease(num):
return num + 1
私は他のアプローチを使用して私の元の問題を解決しました。しかし、私はまだこれが設計上のものか、私の間違いか、またはdjangoのバグか、見落とされているものかどうか疑問に思っています。
デコレータの実装でsimple_tag
の中にcompile_filter
のようなものを呼び出すと思います。
あなた自身で回答が見つかりましたか?私は同じ問題に直面している^^ –
申し訳ありませんが、私は今は覚えていません。私は回避策を使用して終了したと思う。 – jsz
ジャンゴ特有の問題と思われます:1.3.1で再現可能で、1.4.1で動作します。 – seeg