我在使用表单向导时遇到了一些问题,也许有人可以解释一下。根据 process_step 方法中的文档字符串:我可以“动态更改 self.form_list”。因此,根据我的项目需求,我将表单附加到 form_list 中。我附加的表格包含问题和答案:http://dpaste.com/hold/152201/
问题是,当两个人同时点击表单向导时,他们开始看到彼此的问题和答案。我想我不明白 process_step 如何建议我可以动态更改 form_list,当我这样做时,我正在修改另一个用户的表单列表。
form_list 是点击 urls.py 中定义的 formwizard url 的访问者之间的共享对象吗?我在 apache2/prefork/worker/mod_wsgi 下以及使用 runserver 运行应用程序时看到了这个问题。
如何使用表单向导?如果你像文档所说的那样将其放入 urls.py 中,那么它可以被缓存,我遇到过这个问题几次。只需将其放在这样的视图中即可:
def my_view(request):
return FormWizard(request)
更新:真实示例
def registration_wizard(request, template_name=None):
rw = RegistrationWizard([RegistrationForm, 0])
#hack formwizard to replace default template
if template_name:
rw.get_template = lambda x: template_name
return rw(request)
这里RegistrationWizard是具有动态form_list的FormWizard子类,需要[RegistrationForm, 0],因为如果创建时只有一个表单,向导将无法访问form_list函数。模板的东西是不言自明的
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)