mal*_*wan 5 python flask wtforms flask-wtforms
我有一个多部分表单来生成 - 想一下类似的工作流程到购物车,你有一个表格的多个"部分"(例如细节,账单,支付等),一次显示一个.
关键细节:
我考虑接近这个的方式:
def并存储一个值request.args告诉我我在哪个"部分"然后render_template根据部分使用不同的Form模板.这感觉很糟糕......在Flask/WTForms中实现这一目标的最佳方法是什么?我上面发布的方法似乎都没有,我毫不怀疑这是一个相当普遍的要求.
正如您在上一个想法中提到的那样,最优雅的解决方案无疑需要一些 javascript。您可以使用 JS 隐藏表单的不同部分,并在客户端执行必要的检查和/或数据操作,并且仅当正确且完整时才将其提交到您的 Flask 路径。
我已经使用了你提到的第一种方法。它看起来是这样的:
@simple_blueprint.route('/give', methods=['GET', 'POST'])
@simple_blueprint.route('/give/step/<int:step>', methods=['GET', 'POST'])
@login_required
def give(step=0):
form = GiveForm()
...
return blah blah
Run Code Online (Sandbox Code Playgroud)
你是对的,这感觉很“hacky”。然而,如果路由除了处理表单之外不需要做太多其他事情,它就可以工作。我的路线的工作方式是收集数据,然后向用户询问一系列有关数据的问题。您解释情况的方式,需要收集每个步骤的数据,我真的会推荐 javascript 解决方案。
| 归档时间: |
|
| 查看次数: |
1918 次 |
| 最近记录: |