Изменение атрибутов словаря в jinja2

Предположим, я передаю словарь в свой шаблон 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 предоставляет расширение «делать». Чтобы добавить это расширение в пирамиду, выполните следующие действия в файле __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'}) %}

9
задан Community 23 May 2017 в 00:29
поделиться