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

remove (* char) from the required field label in form

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

代码:

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)* 
    }

模板:

{% 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 %}

所以,我怎样才能删除这个烦人的 * ?

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

Its documentation has a section on the "required" asterisks;如链接所示,最简单的方法是隐藏星号字段;您不需要更改标签:

.asteriskField {
    display: none;
}