我无法为用户(Django)显示书签

2024-05-15 01:35:21 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试使用添加和显示用户书签(收藏夹)的功能。我做导游

目前的情况是:

  1. 用户书签已成功添加到数据库中

  2. 我无法显示用户添加的书签

下面我附上为用户添加书签的代码

型号.py

文章范本:

class Post(models.Model):

title = models.CharField(max_length=200, unique=True,)
slug = models.SlugField(max_length=200, unique=True,)
content = RichTextUploadingField()


def get_bookmark_count(self):
    return self.bookmarkarticle_set.all().count() #

def __str__(self):
    return self.title

抽象模型:

class BookmarkBase(models.Model):
class Meta:
    abstract = True

user = models.ForeignKey(User, verbose_name="user")

def __str__(self):
    return self.user.username

继承模型:

class BookmarkArticle(BookmarkBase):
class Meta:
    db_table = "bookmark_article"

obj = models.ForeignKey(Post, verbose_name="article")

视图.py

class BookmarkView(View):

model = None

def post(self, request, pk):

    user = auth.get_user(request)
    bookmark, created = self.model.objects.get_or_create(user=user, obj_id=pk)

    if not created:
        bookmark.delete()

    return HttpResponse(
        json.dumps({
            "result": created,
            "count": self.model.objects.filter(obj_id=pk).count()
        }),
        content_type="application/json"
    )

我试图在用户添加的模板中显示书签:

{% for bookmark in user.bookmarkarticle_set.all %}
{{ bookmark.post.title }}
{% endfor %}

没有输出

需要做什么才能显示用户添加的书签?

如果有任何帮助,我将不胜感激

Bookmarked guide source


Tags: 用户selftrueobjgetmodelreturntitle

热门问题