希望在每个博客分类索引页面中使用基于django类的listview显示分类标题。我想要做的是在每个选定的类别页面中显示每个category.title。但没有显示。下面是模型,视图,模板,它必须是我错过的小东西。在django listview中显示分类标题
# models.py
class Category(models.Model):
title = models.CharField(_('name'), max_length=100,)
slug = models.SlugField(_('url'), max_length=250, unique=True)
summary = models.TextField(_('summary'), max_length=255)
class Post(models.Model):
category = models.ForeignKey(Category))
title = models.CharField(_('title'), max_length=255)
slug = models.SlugField(_('url'), max_length=250, unique=True)
content= models.TextField(_('summary'), null=True)
# view.py
class PostCategoryMixin(object):
def get_context_data(self, **kwargs):
context = super(PostCategoryMixin, self).get_context_data(**kwargs)
context['category'] = Category.objects.filter(is_public=True)
return context
class PostList(PostCategoryMixin, ListView):
model = Post
queryset = Post.objects.filter(is_public=True)
template_name = 'post/post_list.html'
class PostCategoryView(BlogCategoryMixin, ListView):
template_name = 'post/post_list.html'
model = Post
def get_queryset(self):
return Post.objects.filter(category__slug=self.kwargs.get('slug')).filter(is_public=True)
# post_list.html
{{ category_title }}
上面的模板代码未触发任何可言,我该怎么考虑所选类别页面(例如显示类别标题,如果选择“软件”类别,我希望显示“软件”作为页面标题。
是的,这确实打印出类别 - 所有类别的顺序。就此而言,事情很简单,但事情是当我点击(例如'照片'类别)时,我希望将'照片'显示为类别标题 -
照片
。我应该看看什么,猜猜这是对views.py的处理,我错过了一些小东西。 – sunjoo 2014-10-12 11:58:01每个类别中的所有帖子都取得了良好的...只是我希望在post_list.html模板中的{{category.title}}中的每个相应类别的博客文章中打印出“category.title” 。类别有'title,slug,summary,is_public'字段。仍然有效,我或许应该再次看待所有? – sunjoo 2014-10-12 12:56:02