Определение маршрутов в Flask
Определение маршрутов в Flask осуществляется с использованием декоратора @app.route()
, который указывает путь и связанную с ним функцию.
from flask import Flask
app = Flask(name)
@app.route('/')
def home():
return 'Hello, World!'
Указание методов запросов для маршрутов
Для указания методов запросов, разрешенных для маршрута, используйте аргумент methods
декоратора @app.route()
.
@app.route('/submit', methods=['POST'])
def submit():
return 'Form submitted!'
Динамические параметры в маршрутах
Для создания динамических маршрутов используйте угловые скобки <>
и переменную в декораторе @app.route()
.
@app.route('/user/<username>')
def user_profile(username):
return f'Hello, {username}!'
Обработка данных из запроса
Для обработки данных из запроса используйте функции из модуля flask
, такие как request
для доступа к атрибутам запроса и jsonify
для возврата JSON-ответов.
from flask import request, jsonify
@app.route('/api', methods=['POST'])
def api():
data = request.json
result = process_data(data)
return jsonify(result)
Обработка ошибок и исключений
Для обработки ошибок и исключений в Flask используйте декоратор @app.errorhandler()
и создайте функцию, которая будет вызываться при возникновении определенного исключения или ошибки HTTP.
from flask import make_response
@app.errorhandler(404)
def not_found(error):
return make_response(jsonify({"error": "Not found"}), 404)
Редиректы и URL-построение
В Flask используйте функцию redirect()
для выполнения перенаправления на другой маршрут. Используйте функцию url_for()
для построения URL, основанного на имени функции обработчика маршрута.
from flask import redirect, url_for
@app.route('/old-route')
def old_route():
return redirect(url_for('new_route'))
@app.route('/new-route')
def new_route():
return 'This is the new route!'