Có vẻ như trong Flask, cookie được đặt bằng cách sửa đổi đối tượng phản hồi một cách trực tiếp.Trong Flask, đặt cookie và sau đó chuyển trực tiếp người dùng
Làm cách nào để trả lại đối tượng phản hồi mà còn chuyển hướng người dùng đến trang khác khi đăng nhập thành công? Tôi muốn chuyển hướng cụ thể người dùng thay vì hiển thị một trang khác, trong trường hợp người dùng truy cập REFRESH.
Đây là mã hiện tại của tôi, mà chỉ đơn giản hiển thị cùng một trang, 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)