Alex_shady
@Alex_shady

Как сделать закладки основанные на session и cookies в Django?

Доброго времени суток, я новичок в Django и до этого момента не сталкивался с таким, суть в том что у меня в проекте нет личного кабинета и авторизации, но мне нужен функционал закладок.
Есть вот такой код, помогите пожалуйста сделать так что бы это работало на session.

class Addbookmark(View):
    def post(self, request, pk,):
        child = Child.objects.get(id=pk)
        new_bookmark = BookmarksModel.objects.create(child=child)
        return redirect('/bookmarks/all-bookmarks/')


class BookmarksListView(ListView):
    model = BookmarksModel
    context_object_name = 'bookmarks'
    template_name = 'bookmarks/bookmarks.html'
  • Вопрос задан
  • 132 просмотра
Решения вопроса 1
@FulTupFul
class Addbookmark(View):
    def post(self, request, pk):
        child = Child.objects.get(id=pk)
        new_bookmark = BookmarksModel.objects.create(child=child)
        session_bookmarks = request.session.get("bookmarks_id", [])
        session_bookmarks.append(new_bookmark.id)
        request.session['bookmarks_id'] = session_bookmarks
        return redirect('/bookmarks/all-bookmarks/')
    

class BookmarksListView(ListView):
    model = BookmarksModel
    context_object_name = 'bookmarks'
    template_name = 'bookmarks/bookmarks.html'
    
    def get_queryset(self):
        return self.model.objects.filter(id__in=self.request.session.get("bookmarks_id", []))
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы