Найти - Пользователи
Полная версия: Flask и Jinja
Начало » Python для новичков » Flask и Jinja
1
TheFailOn
Есть фласк приложение, в котором функция парсинга, которая возвращает словарь. Можно ли с помощью шаблонизатора Jinja вывести в веб (не знаю как правильно выразиться, по адресу http://127.0.0.1:5000/)
вывести полученный функцией словарь? Как их связать? Как в html файле объявить, что вот у этой функции возьми значение и выведи его.
И в целом, jinja2 ведь нужна для оптимизации и оформления выводимой информации на странице, так?
py.user.next
Можно вывести словарь.

Ты можешь и просто его вывести, без заморочек, чтобы просто посмотреть его внутренности. Для этого нужно его перед передачей преобразовать в строку через str().

Также ты можешь его использовать в Jinja-шаблонах. Для этого ты должен его подать в render_template() в качестве именованного аргумента, а в шаблоне обращаться к этому имени и брать ключи через точку.

Пример:

app.py
  
@app.route('/page')
def page():
    dct = {'a': 1, 'b': 2}
    return render_template('page.html', mydict=dct)

page.html
<html>
<head></head>
<body>
This is a page.
<div>
a = {{mydict.a}}, b = {{mydict.b}}
</div>
</body>
</html>
TheFailOn
py.user.next
Можно вывести словарь.Ты можешь и просто его вывести, без заморочек, чтобы просто посмотреть его внутренности. Для этого нужно его перед передачей преобразовать в строку через str().Также ты можешь его использовать в Jinja-шаблонах. Для этого ты должен его подать в render_template() в качестве именованного аргумента, а в шаблоне обращаться к этому имени и брать ключи через точку.Пример:app.py
Спасибо огромное! Благодаря тебе я понял суть, пересмотрел гайды по jinja и стало все понятно)
Но возник еще вопрос, может знаешь, в жинже можно мусор весь из словаря почистить, запятые, скобки всякие. Или уже в функции нужно этим заниматься?
py.user.next
TheFailOn
Но возник еще вопрос, может знаешь, в жинже можно мусор весь из словаря почистить, запятые, скобки всякие.
Если такая потребность возникла, то что-то не то, значит, передаётся. Либо ты передаёшь неправильно, либо ты передаёшь грязные данные. То есть передаваться в шаблон уже всё чистое должно.

При этом в шаблонах Jinja можно и функции применять. Есть функции встроенные, есть функции самодельные.

Приложил два примера: один пример - создание глобальной функции шаблона; второй пример - создание фильтра шаблона.


tags: flask
TheFailOn
py.user.next
Спасибо, буду разбираться)
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB