使用flask登录时,未在用户中显示loggid的数据



我为我的python脚本创建了一个支持flask的登录页面

这是我的python部分

@app.route('/login/', methods=['GET', 'POST'])
def login():
"""Login Form"""

if request.method == 'GET':
return render_template('login.html')
else:
username = request.form['username']
password = request.form['password']
if not (username and password):
flash("Username or Password cannot be empty.")
return redirect(url_for('login'))
else:
try:
data = User.query.filter_by(username=username, password=password).first()
if data is not None:
session['logged_in'] = True
return redirect(url_for('home'))
else:
flash("Invalid username or password.")
return redirect(url_for("login"))
except Exception as e:
flash("Error")
return redirect(url_for("login"))

在我的模板中,我试图获得数据变量中提供的信息,但我无法访问它。

这是我的模板部分

{% if session['logged_in'] %}
{% if data %}
<h3 color="black">{{data}}</h3>
{% else %}
<a href="/logout">Logout</a> <br> <br>
{% endif %}
{% else %}
<li id="navi02"><a href="/login">Login</a></li>
{% endif %}

部分";{%if会话['logged_in']%}";运行良好,但第二部分不起作用。怎么了?

问候

这就是在模板中传递值的方式:

return redirect(url_for("login", data=data, loggedin=session['loggedin']))

render_template("login.html", data=data, loggedin=session['loggedin'])

最新更新