適用される変数の元の値を変更しないフィルターを作成したいと考えています。
以下は非常に単純なフィルターです。
def increment(mynumber):
return mynumber + 1
JINJA_ENVIRONMENT.filters['increment'] = increment
テンプレートに次のようなものがある場合:
{% set anumber = 10 %}
<span>first: {{ anumber|increment }}</span>
<span>second: {{ anumber|increment }}</span>
表示されることを期待します:
first: 11
second: 11
代わりに私は得る:
first: 11
second: 12
最初のタイプの結果を得るにはどうすればよいですか? 連鎖フィルターが新しい値を渡すようにすることもできますか? 例えば:
<span>first: {{ anumber|increment|increment|increment }}</span>
<span>second: {{ anumber|increment }}</span>
出力します
first: 13
second: 11