2011-10-21 2 views
9

내 장고 관리 색인에 추가 사이드 바를 표시하려고합니다. 나는 templates/admin/index.html을 만들었습니다. 이제 모델에서 데이터가 필요합니다. 이 기능을 사용하지 않고 파일 admin/views.py장고 관리자보기를 확장하는 방법?

def index(request): 
    var = 'var' 
    return render_to_response('admin/index.html', {'var': var}) 

에서 나는 인덱스 기능 만든이 작업을 수행하려면 나는 오류 ViewDoesNotExist 있습니다.

그러나이 샘플 변수 'var'에 대해 템플릿이 반응하지 않습니다. 또한 내 앱이 색인에 표시되지 않습니다. 나는 인증 애플리케이션 만있다.

색인보기 기능 양식을 덮어 쓰는 것 같습니다. 이 함수를 제대로 덮어 쓰는 방법은 무엇입니까?

답변

8

대신 전체보기를 덮어 쓰는, 당신이 당신의 ModelAdmin에 뷰 로직을 추가 할 수 있습니다 (admin.py) 클래스 : 예를 들어 너무

https://docs.djangoproject.com/en/dev/ref/contrib/admin/#other-methods

:

class MyAdmin(admin.ModelAdmin) 
    ... 
    def add_view(self, request, form_url='', extra_context=None): 
     # Do some extra queries that will get passed to the template 
     c = {'x':SomeModel.objects.all()} 
     super(MyAdmin, self).add_view(request, extra_context=c) 
+1

좋은 생각이지만 : add_view - "모델 인스턴스 추가 페이지의 장고보기." 인덱스 페이지의 데이터에 액세스하려고합니다. index_view 메소드가 없습니다. – motivast

관련 문제