django表单中的单选按钮

时间:2011-05-08 01:02:44

标签: django

我很难设置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'的单选按钮? 如何使用选择下拉菜单执行此操作? 谢谢。

2 个答案:

答案 0 :(得分:82)

在编写表单类时,请查看设置字段的小部件和选项。

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

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

默认小部件是下拉选择。

答案 1 :(得分:-1)

请记住删除所有外部样式,然后添加以下代码:

CHOICES = [('M','Male'),('F','Female')]
Gender=forms.CharField(label='Gender', widget=forms.RadioSelect(choices=CHOICES))

上面的代码生成单选按钮。

就我而言,我使用的是style.css文件,该文件迫使单选按钮呈现为列表。