post_detail = DetailView.as_view(
model=Post,
queryset=Post.objects.filter(is_public=True)) # filter 가능
공개된 포스팅 내에서 (필터) detailview 처리를 한다.
class PostDetailView(DetailView):
model = Post
def get_queryset(self):
qs = super().get_queryset()
if not self.request.user.is_authenticated:
qs = qs.filter(is_public=True)
return qs
보통 위와 같이 많이 구현을 하는데,
로그인이 되어 있지 않다면 공개된 것만 filter를 하는 기능이다.
for i in range(100):
... post = random.choice(post_list)
... post.pk = None
... post.save()

post_list = ListView.as_view(model=Post, paginate_by=10)
총 100개의 파일을 복사 붙이기로 만들었는데
paginate_by 기능을 사용하여서
한 페이지 당 10개씩 볼 수 있도록 구현 가능하다.