1

我有一个视图,可以放置一些上下文并从该上下文中呈现模板。如果没有搜索查询,我想查看显示所有内容,如果搜索到任何内容,我想显示搜索的内容。

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.

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

4

1 回答 1

0

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

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

from haystack.generic_views import SearchView

class MySearchView(SearchView):

    def get_context_data(self, **kwargs):
        # do whatever you want to context
于 2015-01-14T15:17:10.487 回答