背景の詳細、投稿はモデルであり、基本的にブログを作成しようとしています。これは、このビデオで示されているものと同じブログです。
コードは次のとおりです。
from django.views.generic import ListView, DetailView
from models import Post
class PublishedPostsMixin(object):
def get_queryset(self):
queryset = super(PublishedPostsMixin, self).get_queryset()
return queryset.filter(published=True)
class PostListView(PublishedPostsMixin, ListView):
# PostListView takes default template name as `post_list.html`,
# as list was the name it was assigned.
model = Post
template_name = 'blog/post_list.html'
class PostDetailView(PublishedPostsMixin, DetailView):
model = Post
template_name = 'blog/post_detail.html'
ご覧のとおり、PublishedPostsMixin
はオブジェクトから継承されていますが、 がどのように機能しているのかsuper()
。何が起こっているのか理解できる場合は、少し混乱しているので、順を追って説明していただけますか。