我有点搞不懂你想做什么。但是,如果可能,我建议您使用Django附带的表单库,而不是在模板中手动呈现一堆表单元素。下面是一个简单表单的示例,其中自定义/动态选项呈现为复选框。在>>> class CheckboxForm(forms.Form):
... items = forms.MultipleChoiceField(widget=forms.CheckboxSelectMultiple)
...
>>> choices = (('item-1', 'This is item 1'), ('item-2', 'This is item 2'), ('item-3', 'This is item 3'))
>>> form = CheckboxForm(initial={'items':('item-2',)})
>>> form.fields['items'].choices = choices
>>> print form['items']
- This is item 1
- This is item 2
- This is item 3
>>>
对于一个初始的items,应该通过一个默认的关键字来检查。您可以看到“item-2”被指定为“items”字段的“initial”值,并且在生成的HTML显示中,“item-2”被选中。因此,通过自定义这个“初始”参数,您可以指定在页面上最初检查哪些项。在
如果使用Django表单,还可以轻松验证提交的表单数据。在将表单绑定到输入数据时,不需要给表单“initial”,因为最初选择了哪些项并不重要。在
^{pr2}$
注意:您还可以在窗体上设置一个自定义构造函数,并将选项传递到该构造函数中,而不是设置字段.选择创建表单后。在