일반 클래스 기반 뷰를 사용하기 시작 했으므로 시간을 절약 할 수 있습니다. 하지만 믹스 인을 사용하여 각보기에서 코딩하지 않고 일반 impl을 제공 할 수 있는지 궁금합니다. 예를 들어 나는 ListView
과 DetailView
입니다. 목록 작성 및 수정을 제한하기 위해 get_queryset()
을 덮어 쓰고 로그인 한 사용자로 필터링 할 수 있습니다. 당신이 짐작하지만, 난클래스 기반 뷰에서 믹스 인 사용하기 - 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
내가보기의 각 새 상위 클래스를 만들 수, 각보기에 그렇게해야하지만, 난 여전히 코드를 반복 될 것이다. 나는 유지 mixin에 대해 궁금
class RepublicListView(ListView):
# override get_queryset code as above
class JediListView(RepublicListView):
# repeat fot DetailView, DeleteView, UpdateView
, 나는 유지 mixin이 작동하는 방법을 정확하게 확신 [자바 배경에서, 그래서 동시에 두려워하고 두려워입니다]
누군가가이 질문을 편집 할 수 있습니다 : 당신은 다음과 믹스 인 작성할 수 있습니다
을 그리고 같은 클래스에서 사용 그것은 내게 명확하지 않다 – mehmet