我有一个登录表单,用于检查用户提供的用户名和密码是否在数据库中返回一行。如果是,则存储会话cookie并将用户发送回索引页面。如果没有,则再次将用户发回登录页面。
以下是相关代码的片段:
cur.execute("SELECT COUNT(*) FROM users WHERE username = ? AND password = ?", (request.form['username'], request.form['password']))
data = cur.fetchone()[0]
# If given username and password returns a row, create the session
if data == 0:
return redirect(url_for('index'))
else:
session['username'] = request.form['username']
当用户再次发送回登录页面时(redirect(url_for('index'))
),我想在登录页面上包含一条消息,说明给定的用户名或密码无效。
我对如何做到这一点感到有点迷茫。
答案 0 :(得分:1)
这称为消息闪烁。完整的文档是here,它是通过在视图侧添加消息然后在模板上呈现它们来完成的:
<!doctype html>
<title>My Application</title>
{% with messages = get_flashed_messages() %}
{% if messages %}
<ul class=flashes>
{% for message in messages %}
<li>{{ message }}</li>
{% endfor %}
</ul>
{% endif %}
{% endwith %}
{% block body %}{% endblock %}
答案 1 :(得分:0)
在http://flask.pocoo.org/docs/0.10/patterns/flashing/结帐flash
。那应该做你想要的。只需处理index
!