我是 django 的新人。
我想创建一个自定义小部件。
形式.py:
from project.widgets import MultiChoiceFilterWidget
class CustomSearchForm(FacetedSearchForm):
TEST_COLORS = [
u"Blau", u"Rot", u"Gelb"
]
color = forms.MultipleChoiceField(
label=_("Color"), choices=[(x, x) for x in TEST_COLORS],
widget=MultiChoiceFilterWidget, required=False)
小部件.py:
class MultiChoiceFilterWidget(forms.widgets.CheckboxSelectMultiple):
template_name = 'project/widgets/filter.html'
option_template_name = 'ptoject/widgets/filter_option.html'
项目/widgets/filter.html:
<h1>TEST</h1>
但它不会渲染新模板,而是仍然以旧方式渲染。
你能给我一些建议吗?
您必须执行以下步骤来呈现新的小部件模板:
1) Add 'django.forms'给你的已安装的应用程序;
2) Add FORM_RENDERER = 'django.forms.renderers.TemplatesSetting'给你的设置.py.
更多细节 :https://docs.djangoproject.com/en/2.0/ref/forms/renderers/#django.forms.renderers.TemplatesSetting https://docs.djangoproject.com/en/2.0/ref/forms/renderers/#django.forms.renderers.TemplatesSetting
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)