我想改变在Django中呈现窗口小部件的方式。我已阅读本指南https://docs.djangoproject.com/en/2.0/ref/forms/renderers/,但仍无法使其正常运作。
我已经创建了这个小部件
class MultiChoiceFilterWidget(forms.widgets.CheckboxSelectMultiple):
template_name = 'web_admin/partial/checkbox.html'
但是在显示默认外观的意义上它不起作用,没有我编辑的迹象。
在TEMPLATES
我有文件夹myproject.web
,文件夹结构为myproject/web/templates/web_admin/partial/checkbox.html
我错过了什么?
(我还尝试在django/forms/widgets/checkbox_select.html
中放置一个文件,该文件是小部件正在寻找的文件,但仍无法正常工作)
修改
在settings.py
INSTALLED_APPS = [
...
'web',
...
]
forms.py
中的
class MyChoiceForm(ModelForm):
class Meta:
model = MyModel
fields = ('theField',)
widgets = {
'theField': MultiChoiceFilterWidget,
}
EDIT2 更新问题以反映这适用于普通django的事实,而不是酥脆的形式。