Я работаю над созданием системы входа в систему, в которой компьютер проверяет, существуют ли введенные пользователем адрес электронной почты и PSW в базе данных пользователей, и если да, то пользователь отправляется на панель управления. Однако, если пользователь не существует, на экране должна появиться ошибка о том, что адрес электронной почты или пароль неверны. Я получил ошибку при правильном отображении, передав предупреждающее сообщение в шаблон html, но по какой-то причине, когда страница перезагружается, ошибка по-прежнему сохраняется, даже если поля пусты.
Бэкэнд-код для проверки существования пользователя, и если да, то отправить пользователя на панель управления, но если пользователь не существует, отобразить текст предупреждения:
@app.route("/", methods=['GET', 'POST'])
def login():
if request.method == 'POST':
email = request.form.get("email")
psw = request.form.get("password")
users = fetch_users()
if check_user_exist(email, psw):
return render_template('dashboard.html', users=users)
return render_template('login.html', warning = "Email or Password is incorrect")
return render_template('login.html', warning = "")
html-код:
{% if warning %}
{{ warning }}
{% endif %}
Я уже пытался использовать переменные сеанса, говоря session.pop('warning', None), когда сообщение об ошибке не требуется, и используя session['warning'] = "Email уже зарегистрирован. Пожалуйста, войдите в систему». когда мне нужно отобразить сообщение об ошибке и передать его через шаблон html, но та же проблема сохраняется (ошибка не исчезает после перезагрузки)
Верхний код с использованием сеансов:
@app.route("/", methods=['GET', 'POST'])
def login():
if request.method == 'POST':
email = request.form.get("email")
psw = request.form.get("password")
users = fetch_users()
if check_user_exist(email, psw):
# Clear the warning message from the session
session.pop('warning', None)
return render_template('dashboard.html', users=users)
# Set the warning message in the session
session['warning'] = "Email or Password is incorrect"
return render_template('login.html')
return render_template('login.html')
Код интерфейса:
{% if session.warning %}
{{ session.warning }}
{% endif %}
Подробнее здесь: https://stackoverflow.com/questions/786 ... thon-flask