В этой статье мы узнаем, как мы можем использовать объект запроса в колбе для получения полученных данных, которые передаются на ваши маршруты. и Как обрабатывать данные запроса Get в Flask с помощью Python.
Таким образом, Flask — это фреймворк для веб-разработки, написанный на Python, и flask широко используется в качестве веб-фреймворка для создания API (интерфейсов прикладного программирования). Или мы можем сказать, что это легкая структура веб-приложений, которая классифицируется как микрофреймворк.
Flask имеет некоторые функции, такие как инструменты, библиотеки и технологии, которые позволяют создавать веб-приложения. А веб-приложениям часто требуется обработка запросов на получение данных от пользователей.
Python — запрос Flask
В Python-Flask модуль запроса — это объект, который позволяет получить доступ к данным, отправляемым от пользователя на сервер (клиент-сервер). и эти данные передаются в ваше приложение Flask
Таким образом, есть два типа методов, которые можно использовать для восстановления данных:
- GET Method
- POST Method
Убедитесь, что в вашем редакторе кода IDE или VS установлен веб-фреймворк Flask. используя следующую команду, вы можете установить:
pip install Flask pip install flask-requests
а затем мы импортируем модуль запроса, используя следующую строку кода.
Python3
# import the flask module in python
from
flask
import
Flask, request
Получить данные, полученные в запросе Flask
Чтобы выполнить получение данных, полученных в приложении Flask, мы будем использовать некоторые свойства запроса, которые получили данные эффективным способом. для этого мы создадим маршруты и вызовем запрошенное свойство.
- Доступ к строке запроса (параметры URL).
- Доступ к данным формы.
- Вернул данные JSON.
- Возвращаются файлы cookie словаря.
Доступ к параметру строки запроса
Шаг 1: После импорта модуля запроса фляги мы вызовем конструктор фляги Flask-Application, вызвав имя текущего модуля (__name__) в качестве аргумента. используя следующую строку кода.
Python3
# Get the data using request object in flask.
from
flask
import
Flask, request
app
=
Flask(__name__)
Шаг 2: Теперь мы должны использовать редактор кода Visual Studio, создать файл app.py, написать код и запустить его.
Python3
# code
from
flask
import
Flask, request
# flask name module
app
=
Flask(__name__)
# create routes for call query example
@app
.route(
'/query_example'
)
def
query_example():
request
return
'Hello GeeksForGeeks...'
if
__name__
=
=
"__main__"
:
app.run(debug
=
True
)
После запуска просто зайдите в любой браузер и напишите приведенную ниже команду в качестве имени маршрута.
http://127.0.0.1:5000/query_example?
Вывод:
Шаг 4: Теперь мы просто изменим строку кода и позволим этому маршруту читать любой из параметров запроса, для этого используйте объект запроса и вызовите args.get и передайте get. мы сделаем как тег заголовка html.
Обратите внимание: когда мы обновляем строку кода в редакторе, а затем запускаем ее в браузере, нам нужно изменить ключ в строке поиска браузера. вроде по языку так и покажет.
Python3
# code using with request argument.
from
flask
import
Flask, request
app
=
Flask(__name__)
@app
.route(
'/query_example'
)
def
query_example():
language
=
request.args.get(
'language'
)
return
'<h1> The Language is : {GeeksForGeeks} </h1>'
.
format
(language)
if
__name__
=
=
'__main__'
:
app.run(debug
=
True
, port
=
5000
)
Теперь, когда мы это сделали, мы просто создадим ключ «язык» и значение как «питон».
http://127.0.0.1:5000/query_example?language=python
Вывод:
В приведенном выше примере, если мы изменим язык, мы поместили ключ «язык» и значение «Ruby».
http://127.0.0.1:5000/query_example?language=Ruby
Шаг 5: Итак, теперь мы также можем представить множество ключей, значений, фреймворка и веб-сайта. просто реализуйте строку кода.
Python3
def
query_example():
language
=
request.args.get(
'language'
)
framework
=
request.args[
'framework'
]
website
=
request.args.get(
'website'
)
return
'''<h1> The Language is : {} </h1>
<h1> The framework is : {} </h1>
<h1> The website is : {} </h1>'''
.
format
(language,
framework,
website)
После запуска кода введите следующую команду.
http://127.0.0.1:5000/query_example?language=PHP&framework=Flask&website=flask.org
Вывод:
Доступ к данным формы
Шаг 1: Таким образом, при доступе к данным формы мы будем использовать здесь пример формы с методом POST и создадим веб-форму в браузере, для чего нам нужно создать маршрут и функцию. А остальной код как бы тот же, следующий за строкой кода.
Python3
# create route for form and function.
from
flask
import
Flask, request
# flask name module
app
=
Flask(__name__)
@app
.route(
'/form_example'
)
def
form_example():
return
'''<form method="POST" action="">
Language <input types="text" name="language">
Framework <input type="text" name="framework">
<input type="submit">
</form>'''
После запуска просто зайдите в любой браузер и напишите приведенную ниже команду в качестве имени маршрута.
http://127.0.0.1:5000/form_example
Вывод:
Шаг 2: Теперь, что нам нужно сделать, мы будем использовать методы POST и GET, а также условия, чтобы показать язык и какую структуру мы используем. просто реализуйте строку кода.
Python3
# Use the POST and GET method for creative form.
@app
.route(
'/form_example'
, methods
=
[
'POST'
,
'GET'
])
def
form_example():
if
request.method
=
=
'POST'
:
language
=
request.form.get(
'language'
)
framework
=
request.form[
'framework'
]
return
'<h1> The language is {}. The framework is {}.</h1>'
.
format
(language, framework)
return
'''<form method="POST" action="">
Language <input types="text" name="language">
Framework <input type="text" name="framework">
<input type="submit">
</form>'''
Когда вы будете заполнять форму на языке, на котором мы пишем python, и в рамках, мы пишем Flask, отправляя форму, я могу прочитать внешние данные в почтовом запросе и отобразить их пользователю.
Вывод
Доступ к данным JSON
Шаг 1: Теперь мы берем данные JSON, которые обычно создаются процессом, вызывающим маршрут. И создайте функцию.
Python3
# create the route for call JSON Data
@app
.route(
'/json_example'
)
def
json_example():
return
'Hey GeeksForGeeks'
После запуска просто зайдите в любой браузер и напишите приведенную ниже команду в качестве имени маршрута.
http://127.0.0.1:5000/json_example
Вывод:
Шаг 2: Теперь для обработки данных JSON нам нужно программное обеспечение «Почтальон», производительность которого автоматизирована. После этого вам нужно просто скопировать ссылку на данные браузера JSON и вставить ее в почтальон. то вы получите этот результат.
Шаг 3: Теперь мы будем использовать метод POST в данных JSON (нотация объекта JavaScript), следуя строке кода.
Python3
# code
@app
.route(
'/json_example'
, methods
=
[
'POST'
])
def
json_example():
return
'Hey GeeksForGeeks'
Шаг 4: Теперь на этом шаге мы синхронизируем некоторые данные с Flask через Postman, изменим данные на строку и изменим тип на приложение JSON, после чего мы создадим объект JSON в почтальоне.
Код данных объекта JSON в почтальоне
{
“language” : “Python”,
“framework” : “Flask”,
“website” : “scotch”,
“version_info” : {
“python” : 3.7,
“flask” : 1.0
},
“example” : [ “query”, “form”, “json”],
“boolean_test” : true
}
Шаг 5: Теперь на этом шаге мы реализуем код JSON и добавим весь код объекта JSON в файл Python.
Python3
# code
@app
.route(
'/json_example'
, methods
=
[
'POST'
])
def
json_example():
req_data
=
request.get_json()
language
=
req_data[
'language'
]
framework
=
req_data[
'framework'
]
python_version
=
req_data[
'version_info'
][
'python'
]
example
=
req_data[
'example'
][
0
]
boolean_test
=
req_data[
'boolean_test'
]
return
'''<h1>
The language value is {}.
The framework value is {}.
The python version is {}.
The example at 0 index is {}.
The boolean value is {}.
</h1>'''
.
format
(language, framework, python_version,
example, boolean_test)
Вывод: