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

Программы на Python
Ответить
Anonymous
 Изменение атрибутов словаря в jinja2

Сообщение Anonymous »

Предположим, я передаю словарь в свой шаблон 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

(Этот вопрос был спросил здесь, но я нахожу ответ запутанным и отвечает только на часть слияния)

Ответ EDIT:

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'}) %}


Подробнее здесь: https://stackoverflow.com/questions/110 ... -in-jinja2
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»