2012-03-06 28 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

初期= {「のように」:「はい」}ラジオボタンの –

答えて

3

私は、 nは私のviews.py ...

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

を、これはOKのようです、他のフィールド、テキストなどのユーザー入力を必要と特に人のために、これは検証をトリガーします。 – Jingo

+8

-1。これはJingoが述べているように、検証をトリガーする 'data'パラメータです。代わりに 'initial'パラメタを使用してください。 –

+0

合意。これを行うと、同じフォーム上の空のCharFieldのようなものが、送信後ではなくページの読み込みで検証エラーを表示します。 – shacker

1

はい、これはビューで実行する必要がありますが、のフォームを送信する前に、すべてのフィールドでフィールドの検証を開始するので、受け入れられた回答の構文は正しくありません。代わりに使用します。

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