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

Переменная request

Переменная request доступна внутри Jinja-шаблона и хранит объект текущего HTTP-запроса. Через неё получают аргументы строки запроса (request.args), данные формы (request.form), заголовки (request.headers), cookies (request.cookies), метод (request.method), путь (request.path) и другую информацию. Значения доступны как атрибуты объекта, а также по ключу через квадратные скобки.

Синтаксис

{{ request.attr }} {{ request['attr'] }} {{ request.attr['key'] }}

Пример

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

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

Шаблон:

<p>{{ request.method }}</p> <p>{{ request.path }}</p>

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

<p>GET</p> <p>/</p>

Пример

Давайте получим параметр name из строки запроса:

<p>{{ request.args.get('name') }}</p>

Результат выполнения кода для адреса /?name=abcde:

<p>abcde</p>

Пример

Давайте выведем значение заголовка User-Agent:

<p>{{ request.headers.get('User-Agent') }}</p>

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

<p>Mozilla/5.0</p>

Пример

Давайте проверим наличие параметра user в строке запроса:

{% if request.args.get('user') %} <p>{{ request.args.get('user') }}</p> {% else %} <p>guest</p> {% endif %}

Результат выполнения кода для адреса /?user=abcde:

<p>abcde</p>

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

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