Класс Router
Класс Router отвечает за хранение и обработку
маршрутов приложения. Каждое приложение Bottle
содержит собственный экземпляр роутера, доступный
через атрибут app.router. Роутер сопоставляет
входящий URL с зарегистрированными правилами и
вызывает нужный обработчик.
Основные методы класса: add добавляет новое
правило маршрутизации, match ищет обработчик
для входящего запроса, build строит URL по имени
маршрута, а add_filter регистрирует фильтр для
преобразования значений параметров.
Синтаксис
app.router
Пример
Давайте получим роутер приложения и добавим
маршрут напрямую через метод add:
from bottle import Bottle
app = Bottle()
app.router.add('/', 'GET', lambda: 'hello')
app.run()
Результат выполнения кода для адреса /:
hello
Пример
Давайте построим URL по имени маршрута с помощью
метода build:
from bottle import Bottle
app = Bottle()
app.route('/user/<name>', name='user')
res = app.router.build('user', name='abcde')
print(res)
Результат выполнения кода:
"/user/abcde"
Пример
Давайте найдём обработчик для запроса с помощью
метода match:
from bottle import Bottle
app = Bottle()
@app.route('/article/<id>')
def article(id):
return id
res = app.router.match({'PATH_INFO': '/article/5'})
print(res[0])
Результат выполнения кода:
<function article at 0x...>
Смотрите также
-
метод
add,
который добавляет новое правило маршрутизации -
метод
match,
который ищет обработчик для входящего запроса -
метод
build,
который строит URL по имени маршрута -
метод
add_filter,
который регистрирует фильтр для параметров