我正在处理此代码。我在此代码上收到验证错误 422,但无法找出问题
main.py
@app.post("/loginsuccess/", response_class=HTMLResponse)
async def login_success(request: Request, username: str = Form(...), password: str = Form(...)):
p = await User_Pydantic.from_tortoise_orm(await User.get(username=username, password=password))
json_compatible_item_data = jsonable_encoder(p)
if json_compatible_item_data is not None:
logger.info("Logged in Successfully")
return templates.TemplateResponse("homepage.html", {"request": request, "username":username})
else:
status_code:int
status_code = 500
logger.error("Invalid Credentials")
return templates.TemplateResponse("index.html", {"request":request, "status_code":status_code})
我在下面给出的屏幕截图中的错误
答案 0 :(得分:0)
您应该能够直接从请求中获取表单值
async def login_success(request: Request):
form = await self.request.form()
username = form.get('username', '').lower().strip()
password = form.get('password', '').strip()
这应该可以帮助您找到错误所在。如果用户名和密码为空,那么您需要仔细检查您的 HTML 表单