Маршрутизация в Flask
Маршрутизация во Flask отвечает за определение связи между URL-адресами и функциями, которые вызываются для обработки запросов. Для создания маршрута используется декоратор @app.route()
.
from flask import Flask
app = Flask(name)
@app.route('/')
def index():
return 'Главная страница'
Переменные в URL-адресах
Flask позволяет использовать переменные в URL-адресах, что облегчает создание динамических маршрутов. Для этого используются угловые скобки <variable>
.
@app.route('/user/')
def user(username):
return f'Привет, {username}!'
Обработка HTTP-методов
Flask поддерживает обработку различных HTTP-методов, таких как GET, POST, PUT и DELETE. По умолчанию маршруты обрабатывают только GET-запросы, но это можно изменить с помощью параметра methods
декоратора @app.route()
.
@app.route('/submit', methods=['GET', 'POST'])
def submit():
if request.method == 'POST':
return 'Форма отправлена'
else:
return 'Отправьте форму'
Обработка исключений
Для обработки исключений во Flask используется декоратор @app.errorhandler()
. Это позволяет определить функции, которые вызываются при возникновении ошибок с определенными кодами. Например, обработка ошибки 404:
@app.errorhandler(404)
def page_not_found(error):
return 'Страница не найдена', 404
Получение данных из запросов
Flask предоставляет возможность получать данные из запросов, такие как аргументы строк запроса, данные формы и заголовки. Для этого используются объекты request.args
, request.form
и request.headers
.
from flask import request
@app.route('/search')
def search():
query = request.args.get('query', '')
return f'Результаты поиска для: {query}'
Заключение
Маршрутизация и обработка запросов являются ключевыми аспектами разработки веб-приложений с использованием Flask. Освоение этих концепций позволит вам создавать мощные и гибкие приложения, которые могут легко адаптироваться к различным потребностям. Учтите эти принципы при разработке своих Flask-приложений для достижения максимальной эффективности и удобства использования.