首页 > 解决方案 > 如何在 FastAPI 应用函数 Python 中使用动态表单数据?

问题描述

通常,如果我们有如下表单数据:

<form action="/do_something" method="post">
   <label>SomeLabel</label>
   <input type="text" name="data">
   <input type="submit" value="Submit">
</form>

我们可以在 FastAPI 应用程序中使用类似的东西

@app.post("/do_something")
def do_something(data:str = Form(...)):
   print(data)
   return ""

但是当 HTML 根据输入发生变化时,例如:

<form action="/do_something" method="post">
   {%for i in some_list%}
   <label>{{i}}</label>
   <input type="text" name="{{i}}">
   {%endfor%}
   <input type="submit" value="Submit">
</form>

那么我们该怎么做才能将所有这些输入作为函数的参数。FastAPI 应用程序的 /docs 也应该包含这些内容作为文本字段。像这样: 看看它在 /docs 上应该是什么样子

请帮助快速...谢谢

此外,已知的解决方案是使用 request 和 request.form()

@app.post("/do_something")
def do_something(request: Request):
   data = request.form()
   print(data)
   return ""

但是在这种方法中, /docs 端点上没有显示任何内容

标签: pythonfastapi

解决方案


推荐阅读