progammist
9 мая 2020 г. 22:14

Не могу вывести закладки пользователя (избранное)

Django

Ребята, нужна помощь. Сделал добавление поста в закладки (избранное) для пользователя. Закладки добавляются успешно, а вот вывести закладки, которые добавил юзер у меня не получается. Пытаюсь выводить в шаблоне:

  1. {% for bookmark in user.bookmarkarticle_set.all %}
  2. {{ bookmark.post.title }} #модель статьи Post
  3. {% endfor %}

Ничего не выводится.

models.py (модель поста/статьи)

  1. class Post(models.Model):
  2.  
  3. title = models.CharField(max_length=200, unique=True, verbose_name=u'Заголовок поста', db_index=True )
  4. slug = models.SlugField(max_length=200, unique=True, verbose_name=u'URL адрес(автоматический)', )
  5. content = RichTextUploadingField()
  6.  
  7. def get_bookmark_count(self):
  8. return self.bookmarkarticle_set.all().count()
  9.  
  10. def __str__(self):
  11. return self.title
  12.  

Посты на главной странице вывожу views.py :

  1. class PostList(generic.ListView):
  2. queryset = Post.objects.filter(status=1).select_related('author').prefetch_related('tagged_items__tag').order_by('-created_on')
  3. template_name = 'index.html'
  4.  

url.py

  1. path('', views.PostList.as_view(), name='home'),

Для закладок вьюху не создавал, не имею понятия как. Вопрос, как я могу вывести закладки пользователя в шаблоне? Буду благодарен за любую помощь

Вам это нравится? Поделитесь в социальных сетях!

2
progammist
  • 10 мая 2020 г. 15:55

Попробовал сделать вьюху:

  1. def profile(request):
  2. user = request.user
  3. bookmarks = user.bookmarkmovie_set.all()
  4. return render(request,'users/profile/profile.html', {'bookmarks': bookmarks})

Получаю ошибку:

  1. AttributeError at /profile
  2. 'User' object has no attribute 'bookmarkmovie_set'
    progammist
    • 10 мая 2020 г. 19:24
    • Ответ был помечен как решение.

    Разобрался.
    Оставлю для тех, у кого возникнет подобный вопрос. Посты выводим циклом:

    1. {% for bookmark in user.bookmarkarticle_set.all %}
    2. {{ bookmark.obj.title }}
    3. {% endfor %}
    4.  

    Так как мы ссылаемся на обьект статьи в модели BookmarkArticle через переменную obj , то и доступ к статье получаем через неё:

    1. {{ bookmark.obj.title }}

      Комментарии

      Только авторизованные пользователи могут публиковать комментарии.
      Пожалуйста, авторизуйтесь или зарегистрируйтесь
      • Последние комментарии
      • Evgenii Legotckoi
        16 апреля 2025 г. 17:08
        Благодарю за отзыв. И вам желаю всяческих успехов!
      • IscanderChe
        12 апреля 2025 г. 17:12
        Добрый день. Спасибо Вам за этот проект и отдельно за ответы на форуме, которые мне очень помогли в некоммерческих пет-проектах. Профессиональным программистом я так и не стал, но узнал мно…
      • AK
        1 апреля 2025 г. 11:41
        Добрый день. В данный момент работаю над проектом, где необходимо выводить звук из программы в определенное аудиоустройство (колонки, наушники, виртуальный кабель и т.д). Пишу на Qt5.12.12 поско…
      • Evgenii Legotckoi
        9 марта 2025 г. 21:02
        К сожалению, я этого подсказать не могу, поскольку у меня нет необходимости в обходе блокировок и т.д. Поэтому я и не задавался решением этой проблемы. Ну выглядит так, что вам действитель…
      • VP
        9 марта 2025 г. 16:14
        Здравствуйте! Я устанавливал Qt6 из исходников а также Qt Creator по отдельности. Все компоненты, связанные с разработкой для Android, установлены. Кроме одного... Когда пытаюсь скомпилиров…