2012-04-07 3 views
1

Ich versuche zu schreiben, Get-Methode für meine Klasse auf ListView Based, ich möchte Anfrage von Formular in Vorlage und Rückgabe Modell mit Filter aus Anfrage. Dies ist Teil meiner Code:Wie schreibe ich get Methode für Klasse auf ListView

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

Meine Form:

<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, geben Sie mir einige Beispiel.

Antwort

2

Keine Notwendigkeit, get Methode neu zu schreiben.

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

Sie können super() wie folgt verwenden:

class SearchListView(ListView): 
    ... 

    def get(self, request, *args, **kwargs): 
     do smth?? 
     return super(SearchListView, self).get(request, *args, **kwargs) 
Verwandte Themen