普通表单¶
@rt('/submit')
def post(name: str, email: str):
return f"hello {name}, mail={email}"
fast_app 会自动把同名字段绑定到函数参数。
文件上传¶
@rt('/upload', methods=['POST'])
async def upload(file: UploadFile):
data = await file.read()
return P(f"got {len(data)} bytes")
注意:上传是 async,UploadFile 来自 starlette。
CSRF¶
FastHTML 在 SecretKeyMiddleware 启用时自动加 _csrf 字段到表单。