首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Django forms - RadioSelect on fly

Django forms - RadioSelect on fly
EN

Stack Overflow用户
提问于 2012-01-13 07:52:10
回答 1查看 516关注 0票数 2

我对django和表单有问题。

在forms.py中,我有这样的东西:

代码语言:javascript
复制
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())

当我在模板中使用它时,我会得到这样的东西:

代码语言:javascript
复制
Answers:

- a
- s
- d

你知道为什么我没有记下所有的单词,只记下了单词的一个字母吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-01-13 08:03:02

choices应该是两元组的列表(或其他可迭代的)。每个元组中的第一个条目是存储在数据库中的值。第二个是人类可读的名称。有关详细信息,请参阅choices上的文档。

因此,您的choices列表应该如下所示:

代码语言:javascript
复制
choices = [("a","aaaa"), ("s", "ssssssssss"), ("d", "ddddddddd")]

如前所述,您的代码正在考虑每个字符串(aaaa、ssssssss等)。要像元组一样,抓取每个元素的第一个字母作为数据库表示,每个元素的第二个字母作为人类可读的名称(用于标签)。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8844073

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档