jinja2 テンプレートに辞書を渡すとします。
ビューでは、次のようなものがあります
d = {}
#set other template stuff into d
get_params['cri'] = 'time'
get_params['order'] = 'asc'
d['get_params'] = get_params
return d
テンプレートでは、get_params のキーの値を変更する必要があります。論理的なこと
{% set get_params.cri='src' %}
エラーで失敗する
TemplateSyntaxError: expected token '=', got '.'
私の質問は、jinja2 の辞書に渡された値を変更する方法です。
(この質問はここで尋ねられましたが、答えがわかりにくく、マージ部分のみに答えています)
回答編集:
Jinja2 は「do」拡張機能を提供します。その拡張機能をピラミッドに追加するには、__init__.py
ファイルで次の操作を行います
#This line is alreadythere
config.include('pyramid_jinja2')
#Add this line
config.add_jinja2_extension('jinja2.ext.do')
テンプレートでは
{% do get_params.update({'cri':'src'}) %}