Не очевидно из документации на флягу о том, как получить строку запроса. Я новенький, посмотрел документы, не смог найти!
Так
@app.route('/')
@app.route('/data')
def data():
query_string=??????
return render_template("data.html")
python
flask
query-string
Tampa
источник
источник
Ответы:
источник
Полный URL доступен как
request.url
, а строка запроса доступна какrequest.query_string
.Вот пример:
Чтобы получить доступ к отдельному известному параметру, переданному в строке запроса, вы можете использовать
request.args.get('param')
. Это "правильный" способ сделать это, насколько я знаю.ETA: Прежде чем идти дальше, вы должны спросить себя, зачем вам строка запроса. Мне никогда не приходилось извлекать необработанную строку - у Flask есть механизмы для доступа к ней абстрактно. Вы должны использовать их, если у вас нет веских причин не делать этого.
источник
Werkzeug / Flask как уже все разобрали за вас. Не нужно делать ту же самую работу снова с urlparse:
Полная документация для объектов запроса и ответа находится в Werkzeug: http://werkzeug.pocoo.org/docs/wrappers/
источник
Мы можем сделать это с помощью request.query_string.
Пример:
Давайте рассмотрим view.py
Вы также можете сделать его более модульным с помощью Flask Blueprints - http://flask.pocoo.org/docs/0.10/blueprints/
Давайте рассмотрим, как имя передается как часть строки запроса / web_url /? First_name = john
Как видите, это всего лишь небольшой пример - вы можете получить несколько значений + отформатировать их и использовать или передать в файл шаблона.
источник
Я пришел сюда в поисках строки запроса, а не о том, как получить значения из строки запроса.
request.query_string
возвращает параметры URL в виде необработанной байтовой строки (ссылка 1).Пример использования
request.query_string
:Вывод:
Ссылки:
источник
Попробуйте вот так для строки запроса:
Вывод:
источник
Каждая форма строки запроса извлекается из объекта запроса фляги, как описано в O'Reilly Flask Web Devleopment :
Из O'Reilly Flask Web Development и, как заявил Манан Гухари ранее, сначала вам нужно импортировать запрос:
request
это объект, представленный Flask как переменная контекста с именем (как вы уже догадались)request
. Как следует из его названия, он содержит всю информацию, которую клиент включил в HTTP-запрос. Этот объект имеет много атрибутов и методов, которые вы можете получить и вызвать соответственно.У вас есть довольно много
request
атрибутов, которые содержат строку запроса, из которой можно выбирать. Здесь я перечислю каждый атрибут, который каким-либо образом содержит строку запроса, а также описание из книги О'Рейли этого атрибута.Во-первых, это
args
«словарь со всеми аргументами, передаваемыми в строке запроса URL». Поэтому, если вы хотите, чтобы строка запроса была проанализирована в словаре, вы должны сделать что-то вроде этого:(Как уже отмечали другие, вы также можете использовать,
.get('<arg_name>')
чтобы получить определенное значение из словаря)Затем есть
form
атрибут, который не содержит строку запроса, но который включен в часть другого атрибута, который включает в себя строку запроса, которую я сейчас перечислю. Во-первых,form
это «Словарь со всеми полями формы, отправленными с запросом». Я говорю это, чтобы сказать это: есть еще один атрибут словаря, доступный в объекте запроса колбы, который называетсяvalues
.values
это «Словарь, который объединяет значения вform
иargs
.» Получение этого будет выглядеть примерно так:(Опять же, используйте,
.get('<arg_name>')
чтобы получить конкретный элемент из словаря)Другой вариант -
query_string
«Часть строки запроса URL-адреса в виде необработанного двоичного значения». Пример этого:Затем в качестве дополнительного бонуса указывается
full_path
«Путь и части строки запроса URL». Por ejemplo:И, наконец,
url
«Полный URL, запрошенный клиентом» (который включает строку запроса):Удачного взлома :)
источник
Это можно сделать с помощью
request.args.get()
. Например, если в строке запроса есть полеdate
, доступ к нему можно получить с помощьюНе забудьте добавить "
request
" в список импорта из колбы, т.е.источник
request.args.get()
; новые ответы на старые вопросы должны содержать то, что не упоминалось ранее.Если запрос, если GET и мы передали некоторые параметры запроса, то,
источник