I have problem with Django Framework, one blog post may have several tags, how can i get tags value of post list in my index page? I only can get one post's tag in a post detail page.
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})
In template you can get all article's tags:
{% for post in post_list %}
{% for tag in post.tag.all %}
Use your tags here
{% endif %}
{% endif %}