Предположим, я передаю словарь в свой шаблон 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
Изменение атрибутов словаря в jinja2 ⇐ Python
Программы на Python
1731590421
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
(Этот вопрос был спросил здесь, но я нахожу ответ запутанным и отвечает только на часть слияния)
[b]Ответ EDIT:[/b]
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'}) %}
Подробнее здесь: [url]https://stackoverflow.com/questions/11047886/modifying-dictionary-attributes-in-jinja2[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия