Python Django框架的许多领域。如何在索引列表页面中获取特定值
我对Django框架有问题,一篇博客文章可能有几个标签,如何在我的索引页面中获取文章列表的标签值?在一个帖子详细信息页面中,我只能得到一个帖子的标签Python Django框架的许多领域。如何在索引列表页面中获取特定值,python,django,manytomanyfield,Python,Django,Manytomanyfield,我对Django框架有问题,一篇博客文章可能有几个标签,如何在我的索引页面中获取文章列表的标签值?在一个帖子详细信息页面中,我只能得到一个帖子的标签 from django.db import models # Create your models here. class Tag(models.Model): tag_name = models.CharField(max_length=64) def __unicode__(self): return self.tag_n
from django.db import models
# Create your models here.
class Tag(models.Model):
tag_name = models.CharField(max_length=64)
def __unicode__(self):
return self.tag_name
class Article(models.Model):
title = models.CharField(max_length=100)
category = models.CharField(max_length=50)
tag = models.ManyToManyField(Tag, blank=True)
publish_time = models.DateTimeField(auto_now_add=True)
update_time = models.DateTimeField(auto_now=True)
content = models.TextField()
def __unicode__(self):
return self.title
views.py:
def home(request):
posts = Article.objects.all().order_by('-publish_time')
paginator = Paginator(posts, 4)
page = request.GET.get('page')
try:
post_list = paginator.page(page)
except PageNotAnInteger:
post_list = paginator.page(1)
except EmptyPage:
post_list = paginator.paginator(paginator.num_pages)
return render(request, 'home.html', {'post_list': post_list})
试试这个
tag_list = Tag.objects.filter(article__in=post_list)
tag_list是post_list中的帖子拥有的所有标签
或
标签列表是文章中的所有标签。在模板中,您可以获得所有文章的标签:
{% for post in post_list %}
{% for tag in post.tag.all %}
Use your tags here
{% endif %}
{% endif %}
{% for post in post_list %}
{% for tag in post.tag.all %}
Use your tags here
{% endif %}
{% endif %}