从表单中的必填字段标签中删除 (* char)

Diy*_*ako 5 django django-crispy-forms

我正在尝试使用 Meta class 中的标签更改 Django 表单中所需字段的标签。所以在使用此文档编写代码后,我遇到了一个问题,因为字段的名称发生了变化,但 -> * 字符 <- 保留在那里。

代码 :

from django.utils.translation import gettext_lazy as _
class Meta:
    model = ...
    fields = ...
    widgets = ...

    labels = {
        'email': _('email (necessary)'),
        'username': _('name (necessary)'), # the result of this -> name(necessary)* 
    }
Run Code Online (Sandbox Code Playgroud)

模板 :

{% extends "blog/base.html" %}
{% load crispy_forms_tags %}
{% block content %}

<h1>USERS REGISTER PAGE IS FOUND!</h1>
<br>
<hr>

<div>
    <form method="POST">
        {% csrf_token %}
        <fieldset class="form-group">
            <legend class="border-bottom mb-4">Join Today</legend>
            {{ form|crispy }}
        </fieldset>
        <div class="form-group">
            <button type="submit" class="btn btn-outline-info">Sign Up</button>
        </div>
    </form>
    <div class="border-top pt-3">
        <small class="text-muted">
            Already Have An Account ? <a class="ml-2" href="{% url 'users-login' %}">Sign In</a>
        </small>
    </div>
</div>

{% endblock content %}
Run Code Online (Sandbox Code Playgroud)

那么,我怎样才能删除这个烦人的 * 呢?

AKX*_*AKX 12

这里的根本原因显然django-crispy-forms是用于呈现表单的包。

它的文档有一个关于“必需”星号的部分;最简单的链接是隐藏星号字段;您不需要更改标签:

.asteriskField {
    display: none;
}
Run Code Online (Sandbox Code Playgroud)