问题描述
我正在使用Django脆皮表单和modelform_factory生成表单。看起来像这样:
ModelForm = modelform_factory(Street)
form = ModelForm(request.POST or None,instance=my_record)
然后在模板中运行此命令:
{% crispy form %}
它完全按照预期生成了我的bootstrap4表单。但是,我希望在我的长格式中只有一个字段具有前置文本(@用于Twitter句柄)。在documentation中显示为:
templatetags.crispy_forms_field.crispy_addon(field,append='',prepend='',form_show_labels=True)[source]
Renders a form field using bootstrap’s prepended or appended text:
{% crispy_addon form.my_field prepend="$" append=".00" %}
You can also just prepend or append like so
{% crispy_addon form.my_field prepend=”$” %} {% crispy_addon form.my_field append=”.00” %}
我已尝试在模板中按以下方式使用它:
{% crispy form %}
{% crispy_addon form.url prepend=”@” %}
但这会返回以下错误:
Invalid block tag on line 12: 'crispy_addon',expected 'endblock'. Did you forget to register or load this tag?
我在做什么错了?
解决方法
您需要将标记加载到模板中,然后将以下内容添加到模板顶部。原因是此标签与{%crispy%}标签位于不同的文件中。
{% load crispy_forms_field %}