Как перенаправить пользователя дважды - 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) (используя представление выше) -> перенаправляется обратно на страницу книги.