Django Registration Redux - 如何让错误消息显示在正确的字段中。

Django Registration Redux - How to get error messages to display at correct fields.

我正在使用 Django Registration Redux 并希望完成一些自定义字段样式。但是,我的错误消息没有按预期显示在模板中。我试图让它显示使用 {{form.errors}} 和几个变体,但没有成功。

我希望在正确的字段中显示正确的错误消息,就像开箱即用的 Registration Redux 一样。

                <form action="." method="POST">
                    {% csrf_token %}
                    <div class="row">
                        <div class="col-md-12">
                            <div class="form-group no-margin">
                                {{form.username | add_some_css:"form-control" }}
                            </div>
                            <span class="help-block">Your profile - http://snapper.com/<strong>username</strong></span>
                        </div>
                    </div>

                    <div class="row">
                        <div class="col-md-12">
                            <div class="form-group margin-top-30">
                                {{form.email | add_some_css:"form-control" }}
                            </div>
                            <div class="form-group">
                                {{form.password1 | add_some_css:"form-control" }}
                            </div>
                            <div class="form-group">
                                {{form.password2 | add_some_css:"form-control" }}
                            </div>

                            <div class="form-group no-border">
                                <button type="submit" class="btn btn-danger btn-block">Sign up</button>
                            </div>
                        </div>
                    </div>
                </form>

您可以通过以下方式显示表单非字段类型以及特定字段类型错误的错误。考虑我使用的 password_change 形式的例子:-

<form method="POST" action="{% url 'account_change_password' %}" class="password_change signup">
            {{form.non_field_errors}}
            {% csrf_token %}
            <p><label for="id_oldpassword">Current Password:</label> <input id="id_oldpassword" name="oldpassword" placeholder="Current Password" type="password" required class="sigup_input"/></p>
            <p>{{form.oldpassword.errors}}</p>
            <p><label for="id_password1">New Password:</label> <input id="id_password1" name="password1" placeholder="New Password" type="password" required class="sigup_input"/></p>
            <p>{{form.password1.errors}}</p>
            <p><label for="id_password2">New Password (again):</label> <input id="id_password2" name="password2" placeholder="New Password (again)" type="password" required class="sigup_input"/></p>
            <p>{{form.password2.errors}}</p>
            <button type="submit" name="action">{% trans "Change Password" %}</button>
        </form>

注意 {{form.field_name.errors}}

的使用

希望你能得到答案。