У меня есть этот код для пользовательского логина:
def login(request):
if request.user.is_authenticated:
return render(request, 'listings/index.html', {})
if request.method == 'POST':
username = request.POST.get('username')
password = request.POST.get('password')
user = authenticate(request, username=username, password=password)
if user is not None:
if not request.POST.get('remember_me', None):
request.session.set_expiry(0)
auth_login(request, user)
return redirect('dashboard')
else:
messages.error(request, "Les informations que vous venez d'entrer sont incorrects. Veuillez réessayer.")
return render(request, 'dashboard/login.html', {})
return render(request, 'dashboard/login.html', {'randomtip': random.choice(RandomTip.objects.all())})
И все мои представления имеют декораторы @login_required и @user_passes_test. Как видно из функции входа в систему, когда пользователь проходит проверку подлинности и входит в систему, он / она перенаправляется на панель мониторинга. Но у меня есть предел истечения сеанса (когда у пользователей истек срок их сеансов через 6 минут). И когда они находятся на определенной странице c, они перенаправляются на логин после истечения срока действия cook ie. Проблема в том, что если они находятся на странице, отличной от панели мониторинга, после входа в систему они перенаправляются на панель мониторинга.
Я хочу, чтобы они оставались на той же странице после повторного входа в систему. Как я могу узнать путь к текущей посещенной странице и поставить его здесь: return redirect(current_page)
?