Класс Route
Класс Route инкапсулирует все данные об одном маршруте
в приложении Bottle. Объект этого класса создаётся
автоматически при регистрации обработчика через
route, get, post и другие декораторы.
Он хранит правило пути rule, HTTP-метод method,
функцию-обработчик callback, имя маршрута name,
словарь настроек config и ссылку на приложение app.
Экземпляр Route можно получить из списка
app.routes или через метод get_route.
Синтаксис
route = Route(app, rule, method, callback, name=None, config=None)
Пример
Давайте зарегистрируем маршрут и посмотрим на его атрибуты:
from bottle import Bottle
app = Bottle()
@app.route('/user/<name>', name='user')
def user(name):
return name
route = app.routes[0]
print(route.rule)
print(route.method)
print(route.name)
print(route.callback.__name__)
Результат выполнения кода:
"/user/<name>"
"GET"
"user"
"user"
Пример
Давайте изменим конфигурацию существующего маршрута
через атрибут config:
from bottle import Bottle
app = Bottle()
@app.route('/article')
def article():
return 'abcde'
route = app.routes[0]
route.config['key'] = 'value'
print(route.config)
Результат выполнения кода:
{'key': 'value'}
Пример
Давайте получим необёрнутый обработчик маршрута
с помощью метода get_undecorated_callback:
from bottle import Bottle
app = Bottle()
@app.route('/hello')
def hello():
return 'hello'
route = app.routes[0]
callback = route.get_undecorated_callback()
print(callback.__name__)
Результат выполнения кода:
"hello"