2017-09-28 5 views
0

이것은 현재보기입니다.Django-Haystack : FacetedSearchView를 사용하여 추가 컨텍스트를 전달하는 방법

class FacetedSearchView(BaseFacetedSearchView): 

    form_class = FacetedProductSearchForm 
    facet_fields = ['TopCategory'] 
    template_name = 'shop-grid-ls.html' 
    paginate_by = 20 
    context_object_name = 'object_list' 


    extra = TopCategory.objects.all() 

    def extra_context(self): 
     return { 
      'extra': self.extra, 
     } 

내 템플릿의 extra 개체에 액세스 할 수 없습니다. FacetedSearchView를 통해 컨텍스트를 전달하는 방법 감사합니다. .

답변

0

부모 클래스의 get_context_data 메서드를 덮어 써야합니다. 이 시도 :

class FacetedSearchView(BaseFacetedSearchView): 
    # ... 

    def get_context_data(self, *args, **kwargs): 
     context = super(FacetedSearchView, self).get_context_data(*args, **kwargs) 
     extra = TopCategory.objects.all() 
     context.update({'extra': extra}) 
     return context 

당신은 방법 밖에 그 변수 extra를 정의해서는 안된다. 클래스 속성과 인스턴스 속성의 차이점을 알고 싶습니다.