django haystack - 如何使用具有某些上下文的当前视图

时间:2013-05-09 15:24:37

标签: python django django-haystack

我有一个视图,它会放置一些上下文并从此上下文中呈现模板。如果没有搜索查询,我希望视图显示所有内容,并显示搜索到的任何内容。

class MyCurrentView(View):
     def get(self, request):
         data = { 'users': User.objects.all() }
         return render_to_response("mytemp.html", ..

urls.py:
      url(r'^search/$', MyCurrentView.as_view())

现在,我正在将其与SEarchView集成,如下所示:

class MyCurrentView(SearchView):  (If u observe, I subclassed SEarchView).
     template = 'mytemp.html'
     def get(self, request):
         data = { 'users': User.objects.all() }
         return render_to_response...

     def get_context_data(self, ...):
          print "....this should print"  #But not printing. So, unable to add data
     return data

urls.py:
      url(r'^search/$', MyCurrentView.as_view())  
      # as_view() gave me error, so I did MyCurrentView() , may be thats y, get_context_data not calling.

如有必要,将提供更多信息。

1 个答案:

答案 0 :(得分:0)

通过PR#1130向django-haystack添加了基于Django风格的新视图:

您现在可以像使用django一样使用搜索视图(请参阅拉取请求中的更改)。

from haystack.generic_views import SearchView

class MySearchView(SearchView):

    def get_context_data(self, **kwargs):
        # do whatever you want to context