使用bootstrap渲染的Django FilteredSelectMultiple小部件

我正在尝试复制
django应用程序管理员中使用的FilteredSelectMultiple小部件.

但我的小部件呈现出非常不同

使用django-suitdjango_admin_bootstrapped的管理中的窗口小部件使用引导程序呈现:

 

我将窗体小部件和媒体定义为forms.py:

class ProcFTPForm(forms.ModelForm):
      id_archivo = forms.ModelMultipleChoiceField(queryset=Archivo_Descarga.objects.all(),required=True,widget=FilteredSelectMultiple("Archivo",is_stacked=False))
      class Media:
       css = {'all':('/admin/css/widgets.css',),}
       js = ('/admin/jquery.js','/admin/jsi18n/')

      def __init__(self, *args, **kwargs):
          super(ProcFTPForm, self).__init__(*args, **kwargs)
          self.helper = FormHelper()

      class Meta:
            model = Lista_Archivos

在模板中,我以这种方式调用媒体文件:

{{ form.media }}

如何将FilteredSelectMultiple小部件呈现类似于来自管理员的小部件.
换句话说,如何使用bootstrap渲染此小部件.

我正在使用django-crispy-forms,除了FilteredSelectMultiple小部件之外,其他小部件都使用引导程序进行渲染

任何建议

提前致谢

最佳答案
django-admin-bootstrapped指定样式覆盖Django管理默认,即像
overrides.css.小部件FilteredSelectMultiple使用的CSS类.selector和你的页面应该应用CSS选择申报
from line 39 to 119 of overrides.css,所以你需要将它的样式添加到您的网页文件,或者通过改变你媒体课堂形式:

class Media:
   css = {'all':('/admin/css/widgets.css', 'admin/css/overrides.css'),}
   js = ('/admin/jquery.js','/admin/jsi18n/')

或直接包含它模板:

<link href="{{ STATIC_URL }}admin/css/overrides.css" type="text/css" rel="stylesheet" />

希望这能解决你的问题

点赞