Мне нужно перенаправить пользователей на ранее набранную ссылку после аутентификации. (Я использую Django)
В моем App, быть аутентифицированным является обязательным условием для доступа к содержимому. Допустим, кто-то поделился ссылкой, такой как http://website.com/form/ioxPwhRtV8zeW2Lj9njZjs4065Ml6u/viewform.
Если пользователь не аутентифицирован, он перенаправляется на главную страницу входа. Мне нужно придумать, как после аутентификации перенаправить того же пользователя обратно на ранее набранную ссылку http://website.com/form/ioxPwhRtV8zeW2Lj9njZjs4065Ml6u/viewform.
Я использую Django версии 4.4 для своего приложения.
Для справки, вот мой код:
def login_view(request):
"""
Display the login form and handle the login action.
"""
form = LoginForm(request.POST or None)
msg = None
if request.method == "POST":
if form.is_valid():
username = form.cleaned_data.get("username")
password = form.cleaned_data.get("password")
user = authenticate(username=username, password=password)
if user is not None:
login(request, user)
now = datetime.datetime.now()
current_time = now.strftime("%I:%M %p, %B %d")
msg = f'Success - Logged in at {current_time}'
messages.success(request, msg)
# Look over here. It redirects not to the location typed, but the home page.
I want it to redirect any authenticated user to the previously typed URL.
return redirect("/")
else:
msg = 'Invalid credentials'
messages.error(request, 'Error validating the form')
else:
msg = 'Error validating the form'
messages.error(request, 'Error validating the form')
return render(request, "accounts/login.html", {"form": form, "msg": msg})
Друзья, мне срочно нужна помощь.