我需要构建
django下拉表单的指导.我可以选择多个选项的字段.我需要在表单的office字段中选择多个位置.
提交时,表格需要返回所选办公室的清单(例如[“纽约”,“洛杉矶”]或[“奥斯汀”]).返回元组也是可以接受的.
我现在能做的最好的事情是为办公室建造一个multipleChoiceField,具体如下:
from django import forms
class my_Form(forms.Form):
OPTIONS = [
("0", "*ALL"),
("1", "New York"),
("2", "Los Angeles"),
]
office = forms.MultipleChoiceField(
choices=OPTIONS,
initial='0',
widget=forms.SelectMultiple(),
required=True,
label='Office',
)
导致此表单字段布局:
但是,我希望此字段为下拉列表,以减少页面上的空间.
我发现这个djangosnippet但是(1)有些人提到它看起来过时了(我无法确认),以及(2)我首先要检查内置的django表单/小部件设置是否可以完成此任务使用自定义代码.
最佳答案 “下拉”框不支持HTML中的多个选择;浏览器将始终将其呈现为图像显示的扁平框.
你可能想要使用某种JS小部件 – Select2是一个很受欢迎的小部件.有一些Django项目 – django-select2,django-easy-select–旨在简化将其集成到您的表单中;我对其中任何一个都没有经验.
(是的,那个片段 – 就像Djangosnippets上的许多东西一样 – 已经过时了;“newforms”在Django 1.0版之前被重命名为“形式”.)