2017-09-28 55 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。我希望你知道類屬性和實例屬性之間的區別。

相關問題