使用Flask / WTForms的多部分表单

问题描述 投票:5回答:2

我有一个多部分表格可以生成-认为与购物车类似的工作流程,在该购物车中,您有多个“部分”(例如,详细信息,账单,付款等),一次显示一个表格。

关键详细信息:

  • 我的表格有3个部分
  • 这些部分必须按顺序完成,而第二部分依赖于来自第一部分的信息
  • 除非该人完成了FULL处理(第1、2和3节),否则表单数据是无用的(例如,将被丢弃)。>>
  • 我考虑过的方法:

  • 使用一个路由def,并在request.args中存储一个值,该值告诉我我在哪个“ Section”,然后根据该部分,render_template一个不同的Form模板。这感觉很hack ...
  • 每个部分的路线和视图都不同。这感觉不对,我必须阻止人们通过URL直接转到步骤2
  • 将所有节放在一个表单上,使用JavaScript隐藏一个表单的部分并以这种方式在各节之间移动
  • 在Flask / WTForms中完成此操作的最佳方法是什么?我上面发布的所有方法都不正确,并且我无疑这是一个相当普遍的要求。

我有一个多部分表格可以生成-与购物车的工作流程类似,在该购物车中,您有多个“部分”(例如,详细信息,账单,付款等),一次显示一个表格。键...

python flask wtforms flask-wtforms
2个回答
1
投票

最优雅的解决方案无疑将需要您在上一个想法中提到的JavaScript。您可以使用JS隐藏表单的不同部分,并在客户端执行必要的检查和/或数据操作,只有在正确时才将其完成,然后将其提交到烧瓶路径中。


0
投票

我刚刚在JS中偶然发现了这种方法。似乎很简单。https://www.w3schools.com/howto/howto_js_form_steps.asp

© www.soinside.com 2019 - 2024. All rights reserved.