django表单中的单选按钮

Dav*_*542 46 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() 
Run Code Online (Sandbox Code Playgroud)

在我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},)
Run Code Online (Sandbox Code Playgroud)

如何设置一组'value1','value2','value3'的单选按钮?如何使用选择下拉菜单执行此操作?谢谢.

DTi*_*ing 88

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

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

like = forms.ChoiceField(choices=CHOICES, widget=forms.RadioSelect)
Run Code Online (Sandbox Code Playgroud)

默认小部件是下拉选择.

  • (元组)中的第一项是值,第二项是要在单选按钮上显示的标签. (23认同)
  • 不应该调用小部件,而只是通过`widget = forms.RadioSelect`传递,如[官方文档显示](https://docs.djangoproject.com/en/1.8/ref/forms/widgets/#widgets-继承-从 - - 选择窗口小部件) (8认同)

小智 7

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

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

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

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