начальное значение в форме переключателя django - PullRequest
9 голосов
/ 06 марта 2012

как я могу объявить начальное значение радио кнопки?

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'})

когда я запускаю свой код, мой переключатель еще не выбран ..

Ответы [ 4 ]

4 голосов
/ 06 марта 2012

Я поставил начальное значение прямо в моем views.py ...

def myviews(request):
  .....
  form = MyForm({'like':'Yes'})
  ...
2 голосов
/ 17 декабря 2018

так работает initial='N', который является первым элементом в кортеже. Choices=(('Y','Yes'), ('N','No') rs_field = forms.ChoiceField(choices=Choices),initial='N', widget=forms.RadioSelect)

2 голосов
/ 12 марта 2015

Да, это должно быть сделано в представлении, но синтаксис в принятом ответе неверен, так как он вызовет проверку полей во всех полях до отправки формы.Используйте вместо:

def myviews(request):
  .....
  form = MyForm(initial={'like':'Yes'})
  ...
2 голосов
/ 06 марта 2012

вы можете проверить документацию поле формы начальная .

...