РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
97 of 307 menu

Метод form

Метод form применяется к объекту запроса Request и асинхронно читает тело запроса, закодированное как application/x-www-form-urlencoded или multipart/form-data. Метод возвращает словарь, где ключами выступают имена полей формы, а значениями - введённые данные. Метод является асинхронным, поэтому вызывается через await. Параметров метод не принимает.

Синтаксис

await request.form()

Пример

Давайте прочитаем данные формы в обработчике и вернём их в ответе. Для этого объявим параметр request с типом Request:

from fastapi import FastAPI, Request app = FastAPI() @app.post('/login') async def login(request: Request): data = await request.form() return {'login': data['login']}

Результат выполнения кода после отправки формы с полем login=user:

{"login": "user"}

Пример

Давайте прочитаем всю форму целиком и преобразуем её в словарь:

from fastapi import FastAPI, Request app = FastAPI() @app.post('/register') async def register(request: Request): data = await request.form() return dict(data)

Результат выполнения кода после отправки формы с полями login=user и password=abcde:

{"login": "user", "password": "abcde"}

Пример

Давайте проверим наличие поля в форме перед его чтением:

<+python+> from fastapi import FastAPI, Request app = FastAPI() @app.post('/check') async def check(request: Request): data = await request.form() if 'article' in data: return {'article': data['article']} return {'error': 'field not found'} <-python+>

Результат выполнения кода, если поле article не передано:

{"error": "field not found"}

Смотрите также

  • метод json,
    который читает тело запроса в формате JSON
  • метод body,
    который читает тело запроса в виде байтов
  • класс Request,
    который представляет HTTP-запрос в FastAPI
  • метод stream,
    который читает тело запроса потоком
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить