Атрибут params
Атрибут params применяется к объекту
запроса request и возвращает словарь,
объединяющий параметры из строки запроса (GET)
и из тела запроса (POST). Если один и тот же
ключ присутствует в обоих источниках, значение
из POST перезаписывает значение из GET.
Атрибут удобен, когда форма отправляется одновременно методом GET и POST, либо когда заранее неизвестно, каким способом пришли данные. Значения возвращаются в виде строк или списка строк.
Синтаксис
request.params
Пример
Давайте выведем все параметры GET-запроса:
from bottle import Bottle, request
app = Bottle()
@app.route('/')
def index():
return str(request.params)
Результат выполнения кода для адреса /?name=abcde&age=25:
{'name': 'abcde', 'age': '25'}
Пример
Давайте прочитаем конкретный параметр name:
from bottle import Bottle, request
app = Bottle()
@app.route('/')
def index():
name = request.params.get('name', 'guest')
return 'hello ' + name
Результат выполнения кода для адреса /?name=abcde:
hello abcde
Пример
Давайте объединим GET и POST параметры в одном запросе. Значение из POST имеет приоритет:
from bottle import Bottle, request
app = Bottle()
@app.route('/', method='POST')
def index():
return str(request.params)
Результат выполнения кода для адреса /?name=abcde
с телом запроса name=user&age=25:
{'name': 'user', 'age': '25'}