Django multi-select widget?

孤街醉人 提交于 2019-12-17 07:03:06

问题


The Django admin site makes use of a really cool widget:

How can I make use of this widget in my own applications? I don't see anything like that listed here.


回答1:


From the docs:

The Django Admin application defines a number of customized widgets for calendars, filtered selections, and so on. These widgets define media requirements, and the Django Admin uses the custom widgets in place of the Django defaults. The Admin templates will only include those media files that are required to render the widgets on any given page.

If you like the widgets that the Django Admin application uses, feel free to use them in your own application! They’re all stored in django.contrib.admin.widgets.

In this case, you want the FilteredSelectMultiple widget. To use it, apply the widget on a form field like so:

my_field = forms.ModelMultipleChoiceField(queryset=MyModel.objects.all(), widget=FilteredSelectMultiple("verbose name", is_stacked=False))

Make sure to include the forms media in the template as it needs to include a few JS files.



来源:https://stackoverflow.com/questions/1698435/django-multi-select-widget

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!