Использование параметров URL
Во Flask, переменные из URL маршрута могут быть переданы в функцию обработчика с использованием аргументов функции. Для задания параметра в URL используйте угловые скобки <>.
@app.route('/user/<username>')
def show_user_profile(username):
return f'Профиль пользователя {username}'
Обработка параметров запроса
Для работы с параметрами запроса, такими как GET и POST параметры, используйте объект request
и его методы, такие как request.args
и request.form
.
from flask import request
@app.route('/login', methods=['GET', 'POST'])
def login():
if request.method == 'POST':
username = request.form['username']
password = request.form['password']
# Обработка данных формы
else:
# Возвращение формы
Конвертеры в URL-маршрутах
Flask предоставляет конвертеры для преобразования переменных URL-маршрута в определенный тип данных. Например, <int:item_id> преобразует значение item_id в целочисленный тип.
@app.route('/item/<int:item_id>')
def show_item(item_id):
return f'ID товара: {item_id}'
Создание собственных конвертеров
Для создания собственных конвертеров создайте новый класс, унаследованный от базового класса BaseConverter
, и зарегистрируйте его в приложении.
@app.route('/items/<list:ids>')
def show_items(ids):
return f'Список товаров: {", ".join(ids)}'