2011-05-08 24 views
35

Tengo dificultades para configurar el archivo forms.py para incluir una radio o botón de selección. Miré la documentación pero no tuve suerte aplicando la sintaxis correcta.Botones de radio en django Formularios

Esto es lo que tengo actualmente en forms.py -

from django import forms 

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

Y en mi 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},) 

¿Cómo puedo configurar un conjunto de botones de opción de 'valor1', ' value2 ',' value3 '? ¿Cómo hacer esto con un menú desplegable de selección? Gracias.

Respuesta

69

Consulte la configuración del widget y las opciones del campo al escribir la clase de formulario.

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

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

El widget predeterminado es una selección desplegable.

+13

El primer elemento de la (tupla) es el valor y el segundo es la etiqueta que se mostrará en el botón de opción. – Martlark

+5

el widget no debe invocarse, solo se pasa con 'widget = forms.RadioSelect' en su lugar, como se muestra [los documentos oficiales] (https://docs.djangoproject.com/en/1.8/ref/forms/widgets/#widgets -hercer-desde-el-seleccionar-widget) – Pynchia

Cuestiones relacionadas