Метод 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"}
Пример
Давайте проверим наличие поля в форме перед его чтением:
Результат выполнения кода, если поле article не передано:
{"error": "field not found"}