2017-09-28 2 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を定義するべきではありません。私はあなたがクラスの属性とインスタンスの属性の違いを知っていることを願っています。

関連する問題