Атрибут url_args
Атрибут url_args применяется к объекту запроса
request и возвращает словарь, содержащий
именованные параметры, которые были захвачены из
маршрута URL. Ключами словаря являются имена
динамических сегментов, заданных в маршруте
в угловых скобках, а значениями - соответствующие
им части URL. Если маршрут не содержит динамических
сегментов, атрибут возвращает пустой словарь.
Синтаксис
request.url_args
Пример
Давайте создадим маршрут с динамическим сегментом
name и выведем значение атрибута
url_args:
from bottle import Bottle, request
app = Bottle()
@app.route('/user/<name>')
def user():
return str(request.url_args)
Результат выполнения кода для адреса /user/abcde:
{'name': 'abcde'}
Пример
Давайте создадим маршрут с несколькими динамическими
сегментами и извлечём конкретное значение из
атрибута url_args:
from bottle import Bottle, request
app = Bottle()
@app.route('/article/<category>/<id>')
def article():
category = request.url_args['category']
article_id = request.url_args['id']
return f"{category} - {article_id}"
Результат выполнения кода для адреса
/article/python/5:
"python - 5"
Пример
Давайте проверим, что возвращает атрибут
url_args, если маршрут не содержит
динамических сегментов:
from bottle import Bottle, request
app = Bottle()
@app.route('/hello')
def hello():
return str(request.url_args)
Результат выполнения кода для адреса /hello:
{}