Сообщение об ошибке проверки формы колбы - PullRequest
0 голосов
/ 07 марта 2019

Я создал форму для сброса пароля, когда я отправляю форму с пустым паролем, слова с ошибками, которые я установил в views.py, не отображаются на <span>, который я оставил в HTML, по умолчанию *Вместо этого отображается 1003 *. enter image description here

* первый - старый пароль, второй - новый пароль. Forms.py:

class PwdForm(FlaskForm):
    old_pwd = PasswordField(
        label="OldPassword",
        validators=[
            DataRequired("Please input old password")
        ]
    )
    submit = SubmitField(
        "Confirm"
    )

в views.py:

@admin.route("/pwd_reset/", methods=["GET", "POST"])
@admin_login_req
def pwd_reset():
    form = PwdForm()
    if form.validate_on_submit():
        data = form.data
        admin = Admin.query.filter_by(name=session["admin"]).first()
        from werkzeug.security import generate_password_hash
        admin.pwd = generate_password_hash(data["new_pwd"])
        db.session.add(admin)
        db.session.commit()
        flash("ok, now use your new password to login", "ok")
        redirect(url_for("admin.logout"))
    return render_template("admin/pwd_reset.html", form=form)

В html:

<label for="input_pwd">{{ form.old_pwd.label }}</label>
{{ form.old_pwd }}
{% for err in form.old_pwd.errors %}
<span style="color: #ff4f1f">{{ err }}</span>
{% endfor %}

Как сделать так, чтобы мое личное сообщение отображалось

1 Ответ

0 голосов
/ 07 марта 2019

Я думаю, что вы имеете в виду, как вы получаете ваше флэш-сообщение для отображения? Используйте следующий код на странице вашего базового шаблона или на каждой странице. См .: Сообщение мигает

{% with messages = get_flashed_messages() %}
  {% if messages %}
    <ul class="flashes">
    {% for message in messages %}
      <li>{{ message }}</li>
    {% endfor %}
    </ul>
  {% endif %}
{% endwith %}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...