如何在Django中以下拉框的形式拥有多个select字段

2024-06-16 13:21:13 发布

您现在位置:Python中文网/ 问答频道 /正文

非常感谢您的帮助,我是django的新手。

class studentRegister(forms.Form):
courseList = forms.ModelMultipleChoiceField(queryset=Courses.objects.all())

谢谢你,感谢你的时间,我只是想修改这种形式,以便我可以多次选择两个或更多的选项,在一个列表中返回也许?


Tags: djangoformobjects选项时间formsall形式
2条回答

一个想法是使用引导类和Python。

表单.py

class yourForm(forms.Form):
options = forms.MultipleChoiceField(
    choices=[(option, option) for option in
             Options.objects.all()], widget=forms.CheckboxSelectMultiple(),
    label="myLabel", required=True, error_messages={'required': 'myRequiredMessage'})

查看.py

def anything(...):
    (...)
    form = yourForm( )
    (...)
    return render(request, "myPage.html", {'form': form})

myPage.html

(...)
{% csrf_token %}
    {% for field in form %}
        <div class="col-md-12 dropdown">
            <button class="btn btn-primary dropdown-toggle" type="button" data-toggle="dropdown">{{ field.label_tag }}
                <span class="caret"></span>
            </button>
            <div class="dropdown-menu">
                <div><a href="#">{{ field }}</a></div>
            </div>
        </div>
    {% endfor %}
(...)

我认为您可以使用SelectMultiple小部件。Source

class studentRegister(forms.Form):
    courseList = forms.ModelMultipleChoiceField(queryset=Courses.objects.all(), widget=forms.SelectMultiple)

如果这不符合您的需要,您可以尝试使用这个snippet

相关问题 更多 >