jos*_*git 5 django django-forms django-admin twitter-bootstrap
我正在尝试复制FilteredSelectMultipledjango 应用程序管理员中使用的小部件。但是我的小部件呈现出非常不同的效果

使用django-suit或django_admin_bootstrapped的 admin 中的小部件使用bootstrap 呈现:
我在 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
Run Code Online (Sandbox Code Playgroud)
在模板中,我以这种方式调用媒体文件:
{{ form.media }}
Run Code Online (Sandbox Code Playgroud)
如何使FilteredSelectMultiple小部件看起来与管理员中的小部件相似。换句话说,我如何使用bootstrap呈现这个小部件。
我正在使用django-crispy-forms并且其他小部件除了FilteredSelectMultiple小部件外都使用引导程序呈现
任何建议
提前致谢
django-admin-bootstrapped指定覆盖 django admin 默认值的样式,例如文件overrides.css。小部件FilteredSelectMultiple使用 css 类.selector,您的页面应应用overrides.css 第 39 行至 119 行声明的css 选择器,因此您需要将其样式添加到您的页面,方法是更改Media表单中的类:
class Media:
css = {'all':('/admin/css/widgets.css', 'admin/css/overrides.css'),}
js = ('/admin/jquery.js','/admin/jsi18n/')
Run Code Online (Sandbox Code Playgroud)
或者直接包含它的模板:
<link href="{{ STATIC_URL }}admin/css/overrides.css" type="text/css" rel="stylesheet" />
Run Code Online (Sandbox Code Playgroud)
希望这能解决您的问题
| 归档时间: |
|
| 查看次数: |
3880 次 |
| 最近记录: |