选择有效选项不是可用选项之一

时间:2016-12-07 10:42:51

标签: python django

我是Django的新手。我想要做的是显示一些JSON响应值,我将其转换为元组以显示在我的Django表单的选择域中。

这就是我创建元组的方式

usernamelist = []
useremaillist = []
for userobject in userobjects:
    username = userobject['somevalue']
    email = userobject['somevalue']
    useremaillist.append(email)
    usernamelist.append(username)
user_tuple = zip(usernamelist,useremaillist)

这是我的表格

class UserSelectForm(forms.Form):
    users = forms.ChoiceField(label="Select user")

然后在我的观点中,我试图将所有这些名字放入下拉列表

selectform = UserSelectForm()
selectform.fields['users'].choices = user_tuple

它成功显示但是当我尝试提交表单时,我选择了一个有效的选择并不是错误选择之一。

这是我试图从提交的表单

中获取下拉选定值的地方
if request.method == 'POST' and 'preview' in request.POST:
    selectform = UserSelectForm(request.POST)
    if selectform.is_valid():
        user_email = selectform.cleaned_data['users']
        print user_email
        return HttpResponseRedirect('/')

1 个答案:

答案 0 :(得分:0)

如果您确实需要手动决定选择,那么您应该将它们作为表单初始值设定项的要求

class UserSelectForm()
     def __init__(self, choices, *args, **kwargs):
         super().__init__(*args, **kwargs)
         self.fields['users'].choices = choices

然后用选择

来调用它
UserSelectForm(user_tuple, request.POST or None)