Как перенаправить назад две страницы Django?

У меня есть страница книги. На этой странице есть кнопка "В избранное". Если пользователь нажмет на кнопку и будет аутентифицирован, то он использует представление addBookmark для добавления нового объекта в базу данных (и просто перезагрузит страницу книги). Однако, если пользователь не аутентифицирован, то сначала произойдет перенаправление на страницу входа.

@login_required
def addBookmark(request, slug):
book = Book.objects.get(slug=slug)
if BookMark.objects.filter(user=request.user, book=book).exists():
    bookMark = BookMark.objects.get(user=request.user, book=book)
    bookMark.delete()
    return HttpResponseRedirect(request.META.get("HTTP_REFERER")) 

newBookMark = BookMark.objects.create(user=request.user, book=book)
newBookMark.save()
return HttpResponseRedirect(request.META.get("HTTP_REFERER")) 

Проблема: Когда пользователь перенаправляется на страницу входа, следующий URL просто добавляет новый объект в db и перезагружает страницу, но это страница входа. Как я могу перенаправить пользователей обратно на страницу книги, если пользователь сначала не прошел аутентификацию?

Вы можете перенаправить пользователя вручную следующим образом:

if not request.user.is_authenticated:
   return redirect("bookmark_url")
Вернуться на верх