Радиокнопки в формах Django - PullRequest
44 голосов
/ 08 мая 2011

У меня проблемы с настройкой файла forms.py для включения радио или кнопки выбора. Я посмотрел на документацию, но не смог применить правильный синтаксис.

Вот то, что у меня сейчас есть в forms.py -

from django import forms

class PictureForm(forms.Form):
    like = forms.ChoiceField(???)
    name = forms.CharField()
    email = forms.EmailField()
    message = forms.CharField() 

А по моему views.py -

from app.forms import PictureForm

def index2(request):
    if request.method == 'POST':
        form = PictureForm(request.POST)
        if form.is_valid():
            cd = form.cleaned_data
            Picture.objects.create(like=cd['like'], name=cd['name'], email=cd['email'], message=cd['message'])
            return HttpResponseRedirect ('/thanks/')
    else:
        form = PictureForm()
    return render_to_response('index2.html', {'form':form},)

Как мне установить набор переключателей 'value1', 'value2', 'value3'? Как это сделать с помощью выпадающего списка? Спасибо.

1 Ответ

83 голосов
/ 08 мая 2011

Посмотрите на настройку виджета поля и выбора при написании класса формы.

CHOICES=[('select1','select 1'),
         ('select2','select 2')]

like = forms.ChoiceField(choices=CHOICES, widget=forms.RadioSelect)

Виджет по умолчанию - выпадающий список.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...