2012-01-05 1 views
2

별도의 페이지 또는 다른 페이지 (아약스)로 볼 수있는 개체 목록이 있습니다.일반 템플릿의 여러 템플릿 Django에서보기

내 템플릿에는 다른 페이지 내의 목록을 볼 때 사용하는 목록 자체와 기본을 확장하는 "full_list_template.html"만있는 "list_template.html"이 있습니다. 템플릿에 "list_template"을 포함시키기 위해 "include"태그를 사용하십시오.

동일한 URL을 사용하여 두 가지 상황에서 항목 목록을 가져오고 싶습니다. 또한 일반적인 ListView를 사용하여 객체 목록을 표시합니다.

몇 가지 질문 :

1)은 두 경우 모두에 대해 동일한 URL을 사용하는 좋은 방법입니다?

2) 그렇다면 하나의 URL을 ListView와 연결하고 "요청"에 따라 template_name 매개 변수를 변경하려면 어떻게해야합니까?

답변

4

예, 두 경우 모두 동일한 URL을 사용하고 request.is_ajax() 값을 확인하여 적절한 템플릿을 설정할 수 있습니다. 이제 template_name 클래스 속성을 사용하는 대신 get_template_names() 메소드를 덮어 씁니다 (이 메소드는 템플릿 목록을 반환해야하며 첫 번째 템플릿이 사용됩니다).