在玩动态创建Forms
时(假设为了在运行时填充多选字段),是否有一种干净且编程的方式来使用Form
和{{{} 1}} class?
FormView
目前,我设法重载class MultipleChoiceForm(forms.Form):
def __init__(self, options, *args, **kwargs):
super(MultipleChoiceForm, self).__init__(*args, **kwargs)
self.fields['calendars'] = forms.MultipleChoiceField(
widget=forms.CheckboxSelectMultiple,
choices=[(o['id'], o['summary']) for o in options],
required=True)
的{{1}}方法:
get_form()
但是我觉得它有点hacky ......可能这个问题已经被问到了,但这个基本场景是否更简洁明了?