В этой статье мы увидим, как получить доступ к строке запроса в Flask Routes в Python. Строка запроса — это часть URL-адреса, а параметры запроса — часть строки запроса, содержащей пару ключ-значение.
Пример:
http://127.0.0.1:50100/?name=isha&class=10
После ? символ, все является параметром запроса, разделенным символом &. Здесь name=isha и class=10 — параметры запроса.
Во Flask мы можем использовать атрибут request.query_string объекта запроса для доступа к необработанной строке запроса в URL-адресе. Мы можем использовать это так:
Python3
from
flask
import
Flask, request
app
=
Flask(__name__)
@app
.route(
'/'
)
def
search():
query_string
=
request.query_string
return
f
'Query string: {query_string}'
if
__name__
=
=
'__main__'
:
app.run(host
=
'0.0.0.0'
, port
=
50100
, debug
=
True
)
Это вернет следующий ответ:
Мы можем использовать request.args, если хотим получить доступ к отдельным ключам и значениям параметров, который представляет собой словарь, сопоставляющий имена параметров с их значениями. Мы можем использовать это так:
@app.route('') def search(): name = request.args.get('name') clas = request.args.get('class') return f'Searching : name {name}, class {clas}'
Вывод будет выглядеть следующим образом:
Мы также можем использовать метод request.args.getlist для получения списка значений параметра, если параметр имеет несколько значений.
Например:
Python
from
flask
import
Flask, request
app
=
Flask(__name__)
@app
.route(
'/'
)
def
search():
query
=
request.args.getlist(
'name'
)
return
f
'Name: {query}'
if
__name__
=
=
'__main__'
:
app.run(host
=
'0.0.0.0'
, port
=
50100
, debug
=
True
)
На выходе будет следующее: