Метод match_request
Метод match_request применяется к объекту
контекста запроса RequestContext и выполняет
сопоставление текущего запроса с зарегистрированными
правилами маршрутизации приложения. Метод не принимает
параметров и возвращает результат сопоставления,
который сохраняется во внутреннем атрибуте
request.routing_exception и используется
Flask для выбора функции-обработчика.
Метод вызывается автоматически при создании контекста запроса, однако его можно вызвать и вручную, если требуется повторно выполнить сопоставление URL с маршрутами.
Синтаксис
RequestContext.match_request()
Пример
Давайте создадим приложение Flask и вручную вызовем
метод match_request внутри обработчика:
from flask import Flask, request
app = Flask(__name__)
@app.route('/')
def index():
ctx = request.environ['werkzeug.request']
return 'hello'
Результат выполнения кода для адреса /:
hello
Пример
Давайте получим контекст запроса и вызовем метод
match_request напрямую через
request_context:
from flask import Flask, request
app = Flask(__name__)
@app.route('/user/<name>')
def user(name):
ctx = app.request_context(request.environ)
res = ctx.match_request()
return name
Результат выполнения кода для адреса /user/abcde:
abcde
Смотрите также
-
класс
RequestContext,
который представляет контекст запроса -
метод
push,
который помещает контекст запроса в стек -
метод
pop,
который извлекает контекст запроса из стека -
метод
copy,
который создаёт копию контекста запроса