django ListView

766 단어
context_object_name = 'posts'. The template default name is ListView 'object_list'
from .models import Post,Category
from django.views.generic.list import ListView
from django.shortcuts import get_object_or_404

class PostCategory(ListView):
    model = Post
    template_name = 'cat.html'
    context_object_name = 'posts'
    def get_queryset(self):
        self.category = get_object_or_404(Category, pk=self.kwargs['pk'])
        return Post.objects.filter(category=self.category)

    def get_context_data(self, **kwargs):
        context = super(PostCategory, self).get_context_data(**kwargs)
        context['category'] = self.category
        return context

좋은 웹페이지 즐겨찾기