我到底该如何使用crisply_addon前置表单字段?

问题描述

我正在使用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 %}

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...