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