django表单中的单选按钮

ars1skjm  于 2022-12-14  发布在  Go
关注(0)|答案(2)|浏览(159)

我在设置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},)

如何设置一组“value 1”、“value 2”、“value 3”的单选按钮?如何使用选择下拉列表来完成此操作?谢谢。

ma8fv8wu

ma8fv8wu1#

查看在编写表单类时设置字段的widgetchoices

from django import forms

class PictureForm(forms.Form):
    CHOICES = [
        ('1', 'Option 1'),
        ('2', 'Option 2'),
    ]
    like = forms.ChoiceField(
        widget=forms.RadioSelect,
        choices=CHOICES, 
    )
  • ChoiceField的默认widget为下拉选择。
  • choices参数的格式与模型字段的格式相同。
mklgxw1f

mklgxw1f2#

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

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

上面的代码生成单选按钮。
在我的例子中,我使用了一个style.css文件,该文件强制单选按钮呈现为列表。

相关问题