假设CHOICES是字段选项的元组,变化比较简单:
class PlaylistsForm(forms.Form):
choices=forms.ChoiceField(widget=forms.RadioSelect(),
choices=CHOICES,
label="choices")
有关详细信息,请参阅 the documentation of ChoiceField 和 the documentation of choices。
更改发布您的编辑:
简答
您可能混淆了名为 choices 的字段和 choices 字段上的属性 choices。
假设你有一个表格:
my_form = PlaylistsForm()
您可以像这样访问choices 字段的choices 属性:
my_form.fields['choices'].choices
长答案
我不知道如何做你想做的事,所以我在声明一个表单后贴了import pdb; pdb.set_trace(),如下所示:
form = PlaylistsForm()
import pdb; pdb.set_trace()
然后,我使用开发服务器打开了一个 URL,该 URL 映射到其中包含我的新 import pdb; pdb.set_trace() 的视图。切换到我的命令提示符,我可以在调试提示符下检查表单对象上存在哪些属性和方法:
(Pdb) dir(form)
这表明form 有一个fields 属性,所以我查看了它:
(Pdb) form.fields
这告诉我form.fields 是dict,其值为Field 对象,我选择了choices 字段,并查看它具有哪些属性:
(Pdb) dir(form.fields['choices'])
这告诉我form.fields['choices'] 有一个choices 属性:
(Pdb) form.fields['chiices'].choices
[('', '---------'), (1L, My Playlist')]
这可能就是你要找的。p>