Атрибут view_functions
Атрибут view_functions применяется к приложению
Flask и представляет собой словарь, в котором
ключами являются имена конечных точек (endpoint),
а значениями - соответствующие функции-обработчики.
Этот атрибут заполняется автоматически при регистрации
маршрутов через декораторы route, get,
post или метод add_url_rule.
Атрибут доступен только для чтения и позволяет
получить доступ к любой зарегистрированной функции
по её имени.
Синтаксис
app.view_functions
Пример
Давайте зарегистрируем два маршрута и выведем
содержимое словаря view_functions:
from flask import Flask
app = Flask(__name__)
@app.route('/')
def index():
return 'hello'
@app.route('/user')
def user():
return 'user'
res = list(app.view_functions.keys())
print(res)
Результат выполнения кода:
['index', 'user', 'static']
Пример
Давайте получим функцию-обработчик из словаря по имени конечной точки и вызовем её напрямую:
from flask import Flask
app = Flask(__name__)
@app.route('/')
def index():
return 'hello'
func = app.view_functions['index']
res = func()
print(res)
Результат выполнения кода:
"hello"
Пример
Давайте зарегистрируем обработчик через
метод add_url_rule и убедимся,
что он попал в словарь view_functions:
from flask import Flask
app = Flask(__name__)
def about():
return 'article'
app.add_url_rule('/about', 'about', about)
res = 'about' in app.view_functions
print(res)
Результат выполнения кода:
True
Смотрите также
-
класс
Flask,
которому принадлежит данный атрибут -
метод
route,
который регистрирует обработчики в этом словаре -
метод
add_url_rule,
который также заполняет словарь view_functions -
атрибут
url_map,
который хранит карту маршрутов приложения