Подтвердить что ты не робот

Как получить переменные GET в приложении Python Bottle

Я пытаюсь сделать простой REST api, используя приложение Python для бутылок. Я столкнулся с проблемой получения переменных GET из глобального объекта запроса. Любые предложения о том, как получить это из запроса GET?

4b9b3361

Ответ 1

Они сохраняются в объекте request.query.

http://bottlepy.org/docs/dev/tutorial.html#query-variables

Похоже, вы также можете получить к ним доступ, рассматривая атрибут request.query как словарь:

request.query['city']

Итак, dict(request.query) создаст словарь всех параметров запроса.

Как отмечает @mklauber, это не будет работать для многобайтовых символов. Похоже, лучший способ:

my_dict = request.query.decode()

Ответ 2

Если вы хотите их всех:

dicc = parse_qs(request.query_string)

Если вы хотите:

one = request.GET.get('one', '').strip()

Ответ 4

из документов

name = request.cookies.name
# is a shortcut for:
name = request.cookies.getunicode('name') # encoding='utf-8' (default)
# which basically does this:
try:
    name = request.cookies.get('name', '').decode('utf-8')
except UnicodeError:
    name = u''

Поэтому вы можете предпочесть использование атрибута accessor (request.query.variable_name), чем request.query.get('variable_name')

Другой момент заключается в том, что вы можете использовать request.params.variable_name, который работает как для методов GET, так и для POST, чем для того, чтобы переключать request.query.variable_name или request.forms.variable_name в зависимости от GET/POST.