对于我的项目,我需要许多“工作流程”表单.我自己解释一下:
用户在第一个字段中选择一个值,根据第一个字段值验证表单和新字段.然后,根据其他字段,可以显示新字段…
我怎样才能以通用的方式实现它?
最佳答案 我认为您正在寻找的解决方案是
django form wizard
基本上,您可以为不同的页面定义单独的表单,并根据之前屏幕中的输入自定义下一个表单,最后,您可以将所有表单的数据放在一起.
具体看一下表单向导上的process step高级选项.
FormWizard.process_step()
"""
Hook for modifying the wizard's internal state, given a fully validated Form object. The Form is guaranteed to have clean, valid data.
This method should not modify any of that data. Rather, it might want to set self.extra_context or dynamically alter self.form_list, based on previously submitted forms.
Note that this method is called every time a page is rendered for all submitted steps.
The function signature:
"""
def process_step(self, request, form, step):
# ...
如果您只需要根据同一表单中的其他下拉列表修改下拉值,您应该看一下已实施的 dajaxproject