Как перенаправить пользователя дважды - Django?

Это мои файлы:

urls.py

path('add/<str:slug>/', views.addBookmark, name='addBookmark')

views.py

@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"))

Заметка: мой вид просто обновляет страницу

Кнопка

<a class="addInBookmarks" href="{% url 'addBookmark' book.slug %}">In bookmarks</a>

Что я имею: Когда неаутентифицированный пользователь пытается добавить книгу в закладки, я имею следующий шаблон URL:

.../login/?next=/cart/add/harry-potter

Действительно добавляет объект в базу данных. Однако после выполнения действия происходит перезагрузка страницы, и эта страница является страницей входа в систему. Мне нужно перенаправить обратно на страницу книги.

Моя проблема: Для аутентифицированных пользователей все работает хорошо. Однако, если пользователь не аутентифицирован, то я хочу иметь следующую схему: неаутентифицированный пользователь нажимает на кнопку -> перенаправляется на страницу входа -> входит в систему -> добавляет объект в базу данных (модель Bookmark) (используя представление выше) -> перенаправляется обратно на страницу книги.

Вернуться на верх