2012-03-06 66 views
7

我該如何聲明單選按鈕的初始值?單選按鈕django形式的初始值

form.py

YESNO = (
    ('Yes','Yes'), 
    ('No', 'No'), 
) 
class MyForm(forms.Form): 
    like = forms.ChoiceField(widget=forms.RadioSelect, choices=YESNO) 

myhtml.html

{{form.like}} 

我試圖把:

like = forms.ChoiceField(widget=forms.RadioSelect, choices=YESNO, initial={'Yes':'Yes'}) 

當我運行我的代碼,我的單選按鈕尚未選定。

+1

初始= {「像」:「是的」} – 2012-03-06 07:53:01

回答

3

我把初始值直接給我ñ我views.py ...

def myviews(request): 
    ..... 
    form = MyForm({'like':'Yes'}) 
    ... 
+2

一個單選按鈕,這似乎是確定,對於其他領域,尤其是那些誰需要像文本用戶輸入,這將觸發驗證。 – Jingo 2012-03-06 07:57:33

+8

-1。這是數據參數,正如Jingo所說,會觸發驗證。改用'initial'參數。 – 2012-03-06 10:32:52

+0

同意。這樣做會導致相同表單上的空CharFields之類的內容在頁面加載而不是提交之後顯示驗證錯誤。 – shacker 2015-03-11 17:31:04

1

是的,這應該在視圖中完成,但接受的答案中的語法不正確,因爲它將觸發之前的所有字段的字段驗證,提交表單之前爲。改用:

def myviews(request): 
    ..... 
    form = MyForm(initial={'like':'Yes'}) 
    ...