在Django中,可以使用CheckboxSelectMultiple
小部件将选项显示为复选框。下面是实现的步骤:
models.ManyToManyField
来表示多对多关系,例如:from django.db import models
class MyModel(models.Model):
options = models.ManyToManyField(Option)
CheckboxSelectMultiple
小部件来渲染多对多字段的表单控件,例如:from django import forms
class MyForm(forms.ModelForm):
class Meta:
model = MyModel
fields = ['options']
widgets = {
'options': forms.CheckboxSelectMultiple,
}
from django.shortcuts import render
def my_view(request):
if request.method == 'POST':
form = MyForm(request.POST)
if form.is_valid():
form.save()
# 处理表单提交成功的逻辑
else:
form = MyForm()
return render(request, 'my_template.html', {'form': form})
form
对象来渲染表单控件,例如:<form method="post">
{% csrf_token %}
{{ form.as_p }}
<button type="submit">提交</button>
</form>
这样,选项将以复选框的形式显示在表单中。用户可以选择一个或多个选项进行提交。
领取专属 10元无门槛券
手把手带您无忧上云