我正在写两页。我要做的是,根据page1中选择的数据,生成一个带有multipleechoicefield的表单,该表单具有page1 result计算的选项。根据icefield中的选项,也可以选择多个选项。在
我正在使用表单模板,并且表单.py,在第2页的窗体类中
class FormPage2(forms.Form):
forms.MultipleChoiceField(label='sth to choose',choices=get_tochoose_choices())
get_tochoose_choices()正在读取某些txt文件以获取选项。在
但是当我加载第一个页面时,(我认为python会实例化所有的表单,不管它是否在这个页面上),这个文件不存在,这意味着FormPage2不能被实例化。即使文件在那里,也不是最新的。在
那我该怎么办?我是相当新的网站设计,希望有人可以帮助。。。在
我相信你要做的是根据第一个表单中选择的选项动态地构建你的第二个表单。在
我不得不为我的一个项目做类似的事情,发现这个链接非常有用:http://jacobian.org/writing/dynamic-form-generation/
您需要重写第二个方法的
__init__
方法,从而在该表单的初始化期间初始化选项。在第二个表单的代码应该是这样的。。在
从第一个窗体接收输入后,可以将其作为关键字参数传递给第二个窗体。 然后在第二个表单的
__init__
中弹出该关键字参数,并使用它通过编辑self.fields['fieldneedsdynamicchoices'].choices
来初始化选择相关问题 更多 >
编程相关推荐