2017-09-27 3 views
0

유연한 일반 뷰는 어떻게 작성합니까?Django 유연한 일반 뷰를 만드는 방법

현재 나는 사과와 배를위한 두 가지 모델과 하나의 템플릿을 사용하고 있습니다.

from django.views import generic 

class AppleIndexView(generic.ListView): 
    template_name = 'fruit/index.html' 
    context_object_name = 'apple_list' 

    def get_queryset(self): 
    return Apple.objects.values() 

class PearIndexView(generic.ListView): 
    template_name = 'fruit/index.html' 
    context_object_name = 'pear_list' 

    def get_queryset(self): 
    return Pear.objects.values() 

더 건조한 방법이 있습니까? 더 좋은 방법이 있어야합니다. 그것은 하나 개의 모델에 언 바운드의 수

는, 누군가가 통합 된 관점이 예제를 밖으로 쓸 수 시간

편집 추가 요청

주셔서 감사합니다. 그래서 나는 그것을 볼 수 있습니다.

modelname_list 

나 :

답변

0

사실 당신은 당신이 원칙을 따른다면 당신은 목록 템플릿에 당신은 이름을 context_object에 액세스 할 수 TEMPLATE_NAME 또는 context_object_name를 제공 ​​할 필요가 없습니다, 모델 또는 검색어 세트를 제공해야 단지

object_list 

당신이 제공하지 않으면.

app_dir/templates/app_dir/<model_name>_list.html 

으로 템플릿을 만드십시오. 다른 템플릿은 필요하지 않습니다.

+0

Apple과 배 각각 두 개의 템플릿이 있어야합니까? 미안해, 내가 오해 한 것 같아. 어떻게 두 개의 인덱스 뷰를 통일 시키겠습니까? 아니면 여전히 더 단순화 된 두 개가 필요합니까? – TheSadPrinter

관련 문제