1

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

{{ form|crispy }}

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

<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'}

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

我是坚持做单独的输入行还是有更好的解决方案?

4

1 回答 1

2

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

from django import forms

DEFAULT_ATTRS = {'data-lpignore': 'true'}
...
class SampleForm(forms.Form):
    name = forms.CharField(widget=forms.TextInput(attrs=DEFAULT_ATTRS))
于 2018-05-18T01:48:06.813 回答