这是我目前的观点。
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 :(得分: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
。我希望你知道类属性和实例属性之间的区别。