2011-05-08 38 views
35

Bir radyo eklemek için forms.py dosyasını ayarlamada zorluk yaşıyorum veya düğmesine basın. Belgelere baktım ama doğru sözdizimini uygulayarak şansım yoktu. İşte django Form'larındaki radyo düğmeleri

Şu anda forms.py içinde ne var -

from django import forms 

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

Ve de benim views.py - Ben değer1'e 'radyo bir dizi düğme ayarlayabilirsiniz nasıl

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

,' değer2 ',' değer3 '? Belirli bir açılır menü ile bunu nasıl yapabilirim? Teşekkür ederiz.

cevap

69

Form sınıfını yazarken, alanın widget'ını ve seçimlerini ayarlama konusuna bakın.

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

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

Varsayılan pencere öğesi bir açılır menüdür.

+13

(tuple) öğesindeki ilk öğe değerdir ve ikincisi radyo düğmesinde gösterilecek etikettir. – Martlark

+5

widget'i çağırılmamalıdır, sadece [resmi dokümanlar] olarak "widget = forms.RadioSelect" ile iletildi (https://docs.djangoproject.com/en/1.8/ref/forms/widgets/#widgets -inheriting-dan-select-widget'ı) – Pynchia

İlgili konular