django form checkbox select multiple

在Django中,要创建一个多选复选框表单字段,你需要使用 MultipleChoiceField 类型的表单字段,并将 widget 参数设置为 CheckboxSelectMultiple

以下是一个示例代码,演示如何使用 MultipleChoiceField CheckboxSelectMultiple 创建一个多选复选框表单字段:

from django import forms
class MyForm(forms.Form):
    CHOICES = [('apple', 'Apple'), ('banana', 'Banana'), ('orange', 'Orange')]
    fruits = forms.MultipleChoiceField(choices=CHOICES, widget=forms.CheckboxSelectMultiple)

在上面的示例代码中,我们创建了一个名为fruits的多选复选框表单字段,并将选项设置为applebananaorangewidget参数设置为CheckboxSelectMultiple,以便将表单字段呈现为多个复选框。

然后,你可以在视图中使用此表单,以便在表单中显示多个复选框,并允许用户选择多个选项:

from django.shortcuts import render
from .forms import MyForm
def my_view(request):
    if request.method == 'POST':
        form = MyForm(request.POST)
        if form.is_valid():
            selected_fruits = form.cleaned_data['fruits']
            # 处理选定的水果
    else:
        form = MyForm()
    return render(request, 'my_template.html', {'form': form})

在上面的示例代码中,我们在视图中创建了一个MyForm实例,以便在模板中呈现表单。当提交表单时,我们检查表单是否有效,并使用cleaned_data方法获取选定的水果。

最后,在模板中呈现表单时,你可以使用以下代码来呈现多个复选框:

<form method="post">
  {% csrf_token %}
  {{ form.as_p }}
  <input type="submit" value="Submit">
</form>

在上面的示例代码中,我们使用form.as_p将表单呈现为一组段落,并在提交按钮下方显示多个复选框。

  •