2016-12-07 64 views
0

我是新來的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 

其成功顯示,但是當我嘗試提交我的表單我得到選擇一個有效的選擇是不是一個的AVA可選擇的選擇錯誤。

這是在那裏我試圖從提交的表單下拉選擇的價值

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('/') 
+0

你真的需要實際工作中調用它y提供表單中的選項,不能將它們添加到視圖中並期望它適用於表單的每個實例(您在底部代碼片段中使用了不同的表單) – Sayse

+0

我正在生成選項使用API​​調用和JSON響應的視圖我沒有從數據庫中獲得這些選擇。如何解決這個問題的任何不同的方法? –

+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) 
相關問題