8
jinja2テンプレートに辞書を渡すとします。私はget_paramsのキーの値を変更する必要があるテンプレートではjinja2の辞書属性を変更する
d = {}
#set other template stuff into d
get_params['cri'] = 'time'
get_params['order'] = 'asc'
d['get_params'] = get_params
return d
のようなものを持っているビューで
。論理的なもの
{% set get_params.cri='src' %}
はエラーで失敗し
TemplateSyntaxError: expected token '=', got '.'
私の質問は、私はJinja2の辞書に渡された値を変更しない方法です
(この質問はhereを尋ねたが、私されています答えを混乱させるだけで、合併部分にのみ答える)
回答EDIT:
Jinja2は 'do'拡張を提供します。ピラミッドにその拡張子を追加するには、アイデアはあなたがJinja2の中で割り当てを行うことができないということであるテンプレート
{% do get_params.update({'cri':'src'}) %}
私は更新部分を得ました(実際には{{}}タグで行っていますが、それはNoneを出力します)。どのように{%do%}ブロックを使用するのですか?コードは非常に高く評価されます。具体的にどのようにピラミッドからjinja2の拡張機能を有効にする – RedBaron
そのスクラッチ...それをやって管理 – RedBaron