07 Июл 2023
2 мин
246

Получение данных из запроса в Flask

Разработчики, работающие с Flask, часто сталкиваются со следующей задачей: необходимо обработать данные, отправленные на сервер через HTTP-запрос. Однако,

Содержание

Разработчики, работающие с Flask, часто сталкиваются со следующей задачей: необходимо обработать данные, отправленные на сервер через HTTP-запрос. Однако, при попытке получить доступ к этим данным через request.data, они обнаруживают, что это поле пустое.

from flask import request

@app.route('/', methods=['GET', 'POST'])
def parse_request():
    data = request.data  # data is empty
    # need posted data here

Так происходит из-за того, что request.data возвращает пустую строку, если данные не были отправлены как форма или не были представлены в виде JSON.

Чтобы получить доступ к данным, отправленным через POST-запрос, можно использовать request.get_json() для JSON-данных или request.form для данных формы.

В случае с JSON-данными код может выглядеть следующим образом:

from flask import request

@app.route('/', methods=['POST'])
def parse_request():
    data = request.get_json()  # data is dictionary with json data

Или, в случае с данными формы:

from flask import request

@app.route('/', methods=['POST'])
def parse_request():
    data = request.form  # data is dictionary with form data

Таким образом, с помощью request.get_json() и request.form можно получить доступ к данным, отправленным на сервер через HTTP-запрос, в формате JSON или в виде формы соответственно.

Добавить комментарий