2012-04-07 2 views
1

ListViewでクラスを取得するgetメソッドを記述しようとしましたが、テンプレートからフォームからリクエストを取得し、リクエストからフィルタを使用してモデルを返したいと思います。これは私のコードの一部です:ListViewでクラスBassedのgetメソッドを書くにはどうすればいいですか?

class SearchListView(ListView): 
    context_object_name = 'projects_list' 
    template_name = 'projects/search.html' 
    paginate_by = 10 

    def get(self, request, *args, **kwargs): 
     do smth?? 
     return self.render_to_response(??) 

マイ形式:

<form class="well form-search" action="/search/" method="get"> 
    <input type="text" class="input-medium search-query" name="q"> 
    <button type="submit" class="btn">Search</button> 
</form> 

Plzを、私にいくつかの例を与えます。

答えて

2

getメソッドを書き換える必要はありません。

class SearchListView(ListView): 
    context_object_name = 'projects_list' 
    template_name = 'projects/search.html' 
    paginate_by = 10 

    def get_queryset(self): 
     query = self.request.GET.get('q') 
     return Model.objects.filter(title=q) 
2

あなたはこのようにsuper()を使用することができます。

class SearchListView(ListView): 
    ... 

    def get(self, request, *args, **kwargs): 
     do smth?? 
     return super(SearchListView, self).get(request, *args, **kwargs) 
関連する問題