Уведомления

Группа в Telegram: @pythonsu

#1 Фев. 15, 2016 14:21:13

feniks92
Зарегистрирован: 2015-04-24
Сообщения: 20
Репутация: +  0  -
Профиль   Отправить e-mail  

Jinja2 список параметров в шаблоне

Всем добрый день! Интересует вопрос - можно ли как то получить список параметров в шаблоне через jinja2?

В общем, есть задача выводить отформатированные сообщения, формат которых задается шаблоном, но, почитав документацию по jinja, я так и не смог понять - как подставить значения в шаблон, если я не знаю, какие там будут переменные… известно лишь, что они, скорее всего, некоторые из параметров шаблона будут совпадать с названием переменной из словаря…

Но словарь у меня составной следующего вида

{'@fields':{'uuid': 123, 'method': 'blabla},
                      '@timestamp': '2015-12-15T15:45:39+00:00',
                      '@message': 'Some message'}

А в шаблоне, скорее всего, параметры будут задаваться видом: {{ @timestamp }} {{ @fields.uuid }}

или видом {{ dict.@timestamp }} {{ dict.@fields.uuid }}, вот толкьо как узнать название dict? оно может называться по разному…

И еще…. jinja не распознает символ @ а у меня поля заданы с такими именами…

ААА!!! Уже мозги кипят, помогите пожалуйста!!!!!

Офлайн

#2 Фев. 15, 2016 15:00:18

4kpt_IV
Зарегистрирован: 2016-01-08
Сообщения: 999
Репутация: +  49  -
Профиль   Отправить e-mail  

Jinja2 список параметров в шаблоне

Подход не верен в корне. Необходимо для jinja данные готовить, а не в jinja искать и угадывать

Офлайн

#3 Фев. 15, 2016 15:07:02

feniks92
Зарегистрирован: 2015-04-24
Сообщения: 20
Репутация: +  0  -
Профиль   Отправить e-mail  

Jinja2 список параметров в шаблоне

Я понимаю, но задание так звучало, мол сделать вывод такой вот по умолчанию, но возможно форматирование с использованием загружаемого шаблона…
А что с @?

Офлайн

#4 Фев. 15, 2016 15:11:35

4kpt_IV
Зарегистрирован: 2016-01-08
Сообщения: 999
Репутация: +  49  -
Профиль   Отправить e-mail  

Jinja2 список параметров в шаблоне

jinja работает с питон определителями.
Вы можете в питоне написать

@a = 12

?

Офлайн

#5 Фев. 15, 2016 15:16:04

feniks92
Зарегистрирован: 2015-04-24
Сообщения: 20
Репутация: +  0  -
Профиль   Отправить e-mail  

Jinja2 список параметров в шаблоне

нет, но я могу же в словаре использовать {“@a”: 12}

Офлайн

#6 Фев. 15, 2016 15:16:58

feniks92
Зарегистрирован: 2015-04-24
Сообщения: 20
Репутация: +  0  -
Профиль   Отправить e-mail  

Jinja2 список параметров в шаблоне

Просто сами записи берутся из json, если это имеет какое нибудь значение

Офлайн

#7 Фев. 15, 2016 15:17:23

4kpt_IV
Зарегистрирован: 2016-01-08
Сообщения: 999
Репутация: +  49  -
Профиль   Отправить e-mail  

Jinja2 список параметров в шаблоне

Так и получайте из словаря в jinja

{{ my_dict["@a"] }}

Офлайн

#8 Фев. 15, 2016 15:19:15

feniks92
Зарегистрирован: 2015-04-24
Сообщения: 20
Репутация: +  0  -
Профиль   Отправить e-mail  

Jinja2 список параметров в шаблоне

оу… а так можно? просто привык еще с джанги, что в шаблонах значения словарей получаются видом
{{ my_dict.key }}

Офлайн

#9 Фев. 15, 2016 15:22:35

feniks92
Зарегистрирован: 2015-04-24
Сообщения: 20
Репутация: +  0  -
Профиль   Отправить e-mail  

Jinja2 список параметров в шаблоне

АААА!!!! ПАСИБА!!!!!!!!!!! ОТ ДУШИ!!!!!! ТЫ ЧЕЛОВЕЕЕЕЕЧИЩЕЕЕЕЕЕ!!!! СЧАСТЬЕ ТО КАКОЕ!!!!!!!)))))

Офлайн

#10 Фев. 15, 2016 15:26:04

4kpt_IV
Зарегистрирован: 2016-01-08
Сообщения: 999
Репутация: +  49  -
Профиль   Отправить e-mail  

Jinja2 список параметров в шаблоне

feniks92
оу… а так можно? просто привык еще с джанги, что в шаблонах значения словарей получаются видом
{{ my_dict.key }}

Можно и так. Можно вообще через .get(). Можно даже логику получения встраивать. jinja - это не из мира джанги. Сравнение выглядит кощунственным

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version