gpt4 book ai didi

python - 在 Flask 中,设置一个 cookie,然后重定向用户

转载 作者:IT老高 更新时间:2023-10-28 22:20:57 25 4
gpt4 key购买 nike

似乎在 Flask 中,cookie 是通过直接修改响应对象来设置的。

如何在成功登录后返回响应对象,同时将用户重定向到不同的页面?我想专门重定向用户而不是呈现不同的页面,以防用户点击 REFRESH。

这是我当前的代码,它只是显示相同的页面 login.html:

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

if request.method == 'POST':

email = request.form['email']
password = request.form['password']

#Check the user's e-mail
try:
u = User(email)
except UserError, e:
errors.append(e)
else:

#Check the user's password
if not u.authenticatePassword(password):
errors.append(('password','Invalid password'))
return render_template('login.html',error=errors)

#Set the session
s = Session()
s.user_id = u.user_id
s.ip = request.remote_addr

#Try to set the cookie
if s.setSession():
response = make_response( render_template('login.html',error=errors))
response.set_cookie('session_id', s.session_id)
return response

return render_template('login.html',error=errors)

最佳答案

您应该将代码更改为:

from flask import make_response
if s.setSession():
response = make_response(redirect('/home'))
response.set_cookie('session_id', s.session_id)
return response

关于python - 在 Flask 中,设置一个 cookie,然后重定向用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12272418/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com