Logowanie do kolby nie przekierowuje do poprzedniej strony
Mając to na uwadze, widziałem kilka pytań, ale nie udało mi się rozwiązać mojego problemu. Mam aplikację Flask z logowaniem do kolby do zarządzania sesjami. A kiedy próbuję wyświetlić stronę bez logowania, zostaje przekierowany do linku w postaci/login/?next=%2Fsettings%2F
Problem polega na tym, że rozumiem, że „następny” argument zawiera część strony, której faktycznie potrzebuję, ale przy wysyłaniu żądania do formularza logowania odbywa się za pośrednictwemPOST
, więc ten argument nie jest już dostępny dla mnie, aby go przekierować.
Próbowałem użyćRequest.path
zŻądanie (i adres URL), ale oba po prostu zwracają/login/
jako adres URL żądania / ścieżki, a nie rzeczywisty/login/?next=xxx
.
Moja metoda logowania jest następująca:
@app.route('/login/', methods=['GET', 'POST'])
def login():
if request.method == 'POST':
#getting the user
user = User.get(request.form['username'])
if user.user is None:
return redirect('/login/')
#actual login proces
if user and check_password_hash(user.user.password, request.form['password']):
login_user(user, remember=remember)
#the redirection portion of the login process
return redirect(request.path or ("/")) # I tried various options there but without success, like request.args['next'] and such
return redirect('/login/')
else:
return redirect('/')
Dzięki