我正在编写一个新闻网站。我在新闻模型中有“类别”。
我想获取 index.html 中名为“意见”的类别之一中的所有新闻。并为每个人创建详细信息页面链接。
我可以知道上面提到的新闻的标题、作者等。但是我的大脑真的很垃圾,我不知道如何为每个新闻创建一个指向 Opinion_new.html 或 news_detail.htlm 的链接。我有一个常规的链接新闻指向news_detail.htlm。
如果您不太明白我在问什么,请同时阅读我的最后一个问题如何在Django中获取同一类别中的所有帖子你太厉害了!
这是我的新闻模型的一部分:
class News(models.Model):
category = models.ForeignKey(Category, on_delete=models.CASCADE, related_name="cate", blank=True, verbose_name='分类')
这是我的类别模型:
类类别(模型.模型):
name = models.CharField(max_length=40) # 分类名
class Meta:
verbose_name = "分类"
verbose_name_plural = verbose_name
def __str__(self):
return self.name
这是我的部分观点:
类新闻视图(视图):
def get(self, request):
opinion_news = News.objects.filter(category="opinion")
return render(request, 'index.html', {
'opinion_news': opinion_news,
})
这是我的index.html的一部分
{% for opinion in opinion_news %}
<li class="media">
<a href='?'> <h>{{opinion.title}}</h></a>
</li>
{% endfor %}
这是我已经运行良好的 news_detail 视图的一部分。
def newsDetailView(request, news_pk):
news = get_object_or_404(News, id=news_pk)
category = news.category
tags = news.tag.annotate(news_count=Count('news'))
all_comments = NewsComments.objects.filter(news=news)
news.comment_nums = all_comments.count()
news.save()
return render(request, "news_detail.html", {
'news': news,
'tags': tags,
'category': category,
})
这是我的 news_detail.html 网址
path('-<int:news_pk>', views.newsDetailView, name="news_detail"),