Parece que en Flask, las cookies se establecen modificando el objeto de respuesta directamente.En Flask, configure una cookie y luego redirija al usuario
¿Cómo puedo devolver un objeto de respuesta, pero también redirijo a un usuario a una página diferente después de iniciar sesión correctamente? Me gustaría redirigir específicamente al usuario en lugar de mostrar una página diferente, en caso de que el usuario presione REFRESH.
Aquí está mi código actual, que simplemente muestra la misma página, 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)