Django-crispy-forms:为单个字段和输入设置 css

Django-crispy-forms: set css for individual field and inputs

有没有办法为单个字段指定 css 并以 django crispy 形式输入?我正在使用 bootstrap4 并希望在我的表单中的几个字段中使用水平表单。

我知道您可以使用 self.helper 来设置 label.class 和 field.class,但我认为这适用于所有领域。我只想更改我的几个字段的标签和字段 class。

编辑:

我需要在与输入不同的标签中添加css

我正在尝试在表单中获取一个水平字段,例如下面的金额字段

<div id="div_id_amount" class="row">
    <label for="id_amount" class="col-form-label col-2  requiredField">
        Amount<span class="asteriskField">*</span>
    </label>
    <div class="">
        <input type="number" name="amount" step="0.01" class="numberinput form-control col-md" required="" id="id_amount">
        </div>
</div>

您可以在布局中添加:

Field('password', id="password-field", css_class="passwordfields", title="Explanation")

您可以找到更多详细信息here

给出一个解决方案here

  • 您通过小部件为输入字段添加 class 属性,如 django docs
  • 中所述
  • 您在 HTML 中明确添加了具有正确 class 的 <label> 标签。

或者,对于标签,您还可以创建以下模板过滤器:

@register.filter(is_safe=True)
def label_with_classes(field, css):
    return field.label_tag(attrs={'class': css})

在使用 {% load my_filters %} 加载模板后,您可以像这样在模板中使用它:{{ form.name|label_with_classes:"col-sm-6 col-lg-3" }}

我不知道有脆皮形式的简单方法。