Django Crispy Forms 添加了 HTML 属性



我的目标是让LastPass忽略我网站上的所有输入表单。 我正在使用清晰的表单,并在我的 HTML 中仅显示此表单字段:

{{ form|crispy }}

但是,我想编辑此表单创建的所有输入元素的一些 HTML 属性,而无需单独编写每个输入元素。 LastPass建议我在HTMLinput标签中使用data-lpignore="true"。 我试图在我的表单标签中实现它,但这不起作用(是的,我知道,表单 != 输入(。:

<form action="{{ action }}" method="post" class="no-ajax" data-lpignore="true">
{% csrf_token %}
{{ form|crispy }}
<input type="submit" name="submit" value="Save" class="btn btn-primary btn-lg" />
</form>

这行不通。

我还尝试在SETTINGS.py中包含以下内容:

CRISPY_CLASS_CONVERTERS = {'data-lpignore': 'true'}

根据脆皮表单的文档,这应该为我的脆皮形式input标签添加data-lpignore="true",但这不起作用。

我是否坚持做单独的输入行,或者有更好的解决方案?

在表单类中,将默认属性传递给用于呈现表单字段的小组件。例如

from django import forms
DEFAULT_ATTRS = {'data-lpignore': 'true'}
...
class SampleForm(forms.Form):
name = forms.CharField(widget=forms.TextInput(attrs=DEFAULT_ATTRS))

最新更新