РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
225 of 643 menu

Переменная config

Переменная config доступна внутри любого Jinja-шаблона Flask и представляет собой словареподобный объект с настройками приложения. Она ссылается на тот же объект, что и app.config, поэтому все ключи, заданные в Python-коде приложения, становятся доступны в шаблоне. Значения извлекаются по имени ключа, например config['SECRET_KEY'] или через точку config.SECRET_KEY. Переменная особенно полезна для передачи в шаблон таких настроек, как название сайта, режим отладки, ключи API и другие параметры, которые не стоит дублировать в коде отображения.

Синтаксис

{{ config['KEY'] }} {{ config.KEY }}

Пример

Давайте зададим настройку SITE_NAME в приложении и выведем её в шаблоне:

from flask import Flask, render_template app = Flask(__name__) app.config['SITE_NAME'] = 'My Site' @app.route('/') def index(): return render_template('index.html')

Теперь используем переменную config в шаблоне:

<p>{{ config['SITE_NAME'] }}</p>

Результат выполнения кода:

<p>My Site</p>

Пример

Давайте включим режим отладки и проверим его значение в шаблоне через обращение по атрибуту:

from flask import Flask, render_template app = Flask(__name__) app.config['DEBUG'] = True @app.route('/') def index(): return render_template('index.html')

Шаблон с обращением к настройке через точку:

{% if config.DEBUG %} <p>Debug mode is on</p> {% else %} <p>Debug mode is off</p> {% endif %}

Результат выполнения кода:

<p>Debug mode is on</p>

Пример

Давайте переберём все ключи конфигурации в цикле и выведем их на странице:

from flask import Flask, render_template app = Flask(__name__) app.config['SITE_NAME'] = 'My Site' app.config['VERSION'] = '1.0' @app.route('/') def index(): return render_template('index.html')

Шаблон с циклом по элементам конфигурации:

<ul> {% for key, value in config.items() %} <li>{{ key }}: {{ value }}</li> {% endfor %} </ul>

Результат выполнения кода (фрагмент):

<ul> <li>SITE_NAME: My Site</li> <li>VERSION: 1.0</li> </ul>

Смотрите также

  • тег set,
    который создаёт переменную в шаблоне
  • тег if,
    который проверяет условие в шаблоне
  • тег for,
    который перебирает элементы в шаблоне
  • функцию render_template,
    которая рендерит Jinja-шаблон
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить