【发布时间】:2019-08-15 09:41:16
【问题描述】:
我是一个 django/python 初学者,正在写一个基本的博客并尝试按标签列出项目。我可以从管理面板为帖子添加标签,但无法找出允许我按特定标签显示帖子的正确代码。
我尝试实施了许多在网上找到的解决方案,但我最终列出了所有帖子,没有帖子,或者出现错误。
这是我的models.py的相关部分:
...
class Tag(models.Model):
name = models.CharField(max_length=200, unique=True)
slug = models.SlugField(max_length=200, unique=True)
def __str__(self):
return self.name
class Post(models.Model):
title = models.CharField(max_length=200, unique=True)
slug = models.SlugField(max_length=200, unique=True)
author = models.ForeignKey(User, on_delete=models.CASCADE, related_name='blog_posts')
tags = models.ManyToManyField(Tag)
updated_on = models.DateTimeField(auto_now=True)
content = RichTextUploadingField(config_name="default", null=True, blank=True)
created_on = models.DateTimeField(auto_now_add=True)
status = models.IntegerField(choices=STATUS, default=0)
class Meta:
ordering = ['-created_on']
def __str__(self):
return self.title
观看次数:
...
class TagPage(generic.ListView):
model = Tag
template_name = 'tag_list.html'
和网址:
urlpatterns = [
...
path('tag/<slug>/', views.TagPage.as_view(), name='tag')
]
如果有人对需要哪些代码有任何想法,我们将不胜感激。
【问题讨论】: