所以我開始使用基於類的視圖,我得說,它們確實節省了時間。但我想知道我是否可以使用mixins來提供泛型impl,而不必在每個視圖中編碼。例如,我有一個ListView
和DetailView
。要限制列表和編輯,我可以覆蓋get_queryset()
並通過登錄用戶對其進行過濾。但正如你猜,我將不得不做,在每個視圖,在基於類的視圖中使用mixins - Django
class JediListView(ListView):
def get_queryset(self):
q = <call super>.filter(user=request.user) #assume i have 'login_required' in the urls
class JediDetailView(DetailView):
def get_queryset(self):
q = <call super>.filter(user=request.user) #assume i have 'login_required' in the urls
我可以替每個視圖的新的父類,但我仍然會重複的代碼。
class RepublicListView(ListView):
# override get_queryset code as above
class JediListView(RepublicListView):
# repeat fot DetailView, DeleteView, UpdateView
我想知道的混入,我完全相信混入如何工作[從Java的背景,所以我很敬畏和恐懼在同一時間]
有人可以編輯這個問題,我不清楚 – mehmet