2011-05-07 64 views
0

我有以下django表單。它有一個選擇領域。即時嘗試獲取在radioSelect小部件中選擇的值。即時通訊使用(cleared_data)方法執行此任務。 ,但由於某種原因它不能訪問clean_data方法。django表單的問題

異常值:'AnswersForm' object has no attribute 'cleaned_data'

forms.py:

 

class AnswersForm(forms.Form): 

     CHOICES=[('sf','asdf')] 
     answers = forms.ChoiceField(choices=CHOICES, widget=forms.RadioSelect()) 

 

和views.py:

 

    form = forms.AnswersForm() 
    form.cleaned_data['answers'] 
 

沒有人知道是怎麼回事?還是有另一種方法來執行此操作?

在此先感謝

回答

4

你不顯示任何代碼,你將數據傳遞到窗體或檢查它是否有效。通常的做法是這樣的:

if request.method == 'POST': 
    form = Forms.AnswersForm(request.POST) 
    if form.is_valid(): 
     do_something_with(form.cleaned_data['answers']) 

直到調用is_valid()

+2

1的形式已經被驗證之後,你只能訪問cleaned_data – gruntled 2011-05-07 01:25:09

0

使用時無法訪問cleaned_dataForm.clean()它只是返回self.cleaned_data

注: 清潔的forms.py

數據
def clean(self,): 
    Here you can clean the form. 

**對於參考** Go Here (Django doc)

+0

'Form.clean()'是有這樣你可以增加正常的清潔功能,這是在內部使用當你調用'.valid()'時。這個問題似乎不是關於表單驗證,而是關於只訪問cleared_data。調用'clean()'不是實現它的方法。 – Henry 2011-05-07 01:31:18