我的django和表格有问题。
在forms.py中,我有这样的话:
class MyForm(forms.Form):
def __init__(self, *args, **kwargs):
self.answers = kwargs.pop('answers')
super(AnswersForm, self).__init__(*args, **kwargs)
choices = ["aaaa", "ssssssssss", "ddddddddd"]
self.fields['answers'] = forms.ChoiceField(choices = choices, widget=forms.RadioSelect())
当我在模板中使用它时,我有这样的感觉:
Answers:
- a
- s
- d
你知道为什么我没有得到所有的话,但只有一个字母的字母?
答案 0 :(得分:2)
choices
应该是两元组的列表(或其他可迭代的)。每个元组中的第一个条目是存储在数据库中的值。第二个是人类可读的名字。
有关详细信息,请参阅choices
上的文档。
因此,您的choices
列表应该更像这样:
choices = [("a","aaaa"), ("s", "ssssssssss"), ("d", "ddddddddd")]
发布后,您的代码正在考虑每个字符串(aaaa,ssssssss等)为类似元组并且为数据库表示抓取每个字符串的第一个字母,并且 second用于人类可读名称(用于标签)的每个字母。