Метод add_url_rule
Метод add_url_rule применяется к приложению
Flask и добавляет правило сопоставления URL
с функцией-обработчиком. В отличие от метода
route, который используется как декоратор,
данный метод вызывается явно. Первым параметром
передаётся строка правила URL. Вторым необязательным
параметром указывается имя конечной точки
endpoint. Третьим параметром передаётся
сама функция-обработчик view_func.
Также можно задать список HTTP-методов через
параметр methods.
Синтаксис
app.add_url_rule(rule, [endpoint], [view_func], [methods])
Пример
Давайте добавим обработчик на адрес '/'
без использования декоратора:
from flask import Flask
app = Flask(__name__)
def index():
return 'hello'
app.add_url_rule('/', 'index', index)
Результат выполнения кода при запросе на корневой адрес:
hello
Пример
Давайте зададим имя конечной точки и ограничим методы только GET и POST:
from flask import Flask, request
app = Flask(__name__)
def user():
return request.method
app.add_url_rule('/user', 'user', user, methods=['GET', 'POST'])
Результат выполнения кода для GET-запроса на адрес '/user':
GET
Пример
Давайте примем параметр name из URL
через метод add_url_rule:
from flask import Flask
app = Flask(__name__)
def user(name):
return name
app.add_url_rule('/user/<name>', 'user', user)
Результат выполнения кода для адреса '/user/abcde':
abcde