Учитывая URL, подобный следующему, как я могу проанализировать значение параметров запроса? Например, в этом случае я хочу значение def
.
/abc?def='ghi'
Я использую Django в своей среде; есть ли метод на request
объекте, который может мне помочь?
Я пытался использовать, self.request.get('def')
но он не возвращает значение, ghi
как я надеялся.
import urllib.parse as urlparse
parse_qs
вам вернется список объектов. Вам нужно получить первый элемент этого, если вы хотите строкуurlparse.parse_qs(parsed.query)['def'][0]
urlparse(url, allow_fragments=False)
противном случае запрос вернет пустую строку.from urllib.parse import urlparse, parse_qs
иparse_qs(parsed.query)
urlparse.urlparse(url)
->urlparse(url)
Я в шоке, это решение не здесь уже. Использование:
Это «получит» переменную из словаря «GET» и вернет значение «variable_name», если оно существует, или объект None, если он не существует.
источник
self
, но я согласен с приведенным выше комментарием.источник
для Python> 3.4
источник
Существует новая библиотека под названием FURL. Я считаю, что эта библиотека наиболее питонна для выполнения URL-алгебры. Установить:
Код:
источник
Я знаю, что уже немного поздно, но так как я оказался здесь сегодня, я подумал, что это может быть полезным ответом для других.
С parse_qsl (), «Данные возвращаются как список имен, пар значений».
источник
URL, на который вы ссылаетесь, является типом запроса, и я вижу, что объект запроса поддерживает метод с именем arguments, чтобы получить аргументы запроса. Вы также можете попробовать
self.request.get('def')
напрямую получить свою ценность от объекта.источник
Надеюсь это поможет
источник
Модуль urlparse предоставляет все необходимое:
urlparse.parse_qs ()
источник
Там нет необходимости делать что-либо из этого. Только с
Обратите внимание, что я не указываю метод (GET, POST и т. Д.). Это хорошо задокументировано, и это пример
Тот факт, что вы используете шаблоны Django, не означает, что обработчик также обрабатывается Django.
источник
В чистом Python:
источник
источник
Кстати, у меня были проблемы с использованием parse_qs () и получением пустых значений параметров, и я узнал, что вам нужно передать второй необязательный параметр keep_blank_values, чтобы получить список параметров в строке запроса, которые не содержат значений. По умолчанию используется значение false. Некоторые дерьмовые написанные API требуют наличия параметров, даже если они не содержат значений
источник
Есть хорошая библиотека w3lib.url
источник
Этот прост. Параметры переменных будут содержать словарь всех параметров.
источник
Я вижу, что нет ответа для пользователей Торнадо:
Этот метод должен работать внутри обработчика, который получен из:
Ни один из этих ответов не вернется, если запрошенный ключ не найден. Это спасает вас от обработки исключений.
источник