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())

今、私はこれを次のように SArchView と統合しています:

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 に答える