Le mar. 31 juil. 2012 10:30:57 CEST, Jean-mathieu Grimaldi a écrit : > Hello > > pourquoi utiliser deux vues ? > > une sous forme de classe et l'autre sous forme de fonction. > > Utilisez la même vue et faites une méthode post à l'intérieur qui vous > retournera les résultats, plus simple à écrire qu'une fonction > indépendante testant le request.post > > Pour apprendre, le mieux est de lire le code de Django, regardez > comment sont faites les classes de vues (dossier views), c'est très > simple à utiliser et très facilement extensible, la lecture et > compréhension prend une heure maximum, le code en lui-même contient > tous les exemples possibles. > > Jean-mat > > 2012/7/31 dgi <[email protected]>: >> Merci mais j'ai du mal à comprendre : je n'ai rien dans self.kwargs >> >> >> Voila ce que je fait : >> >> 1) ma fonction de recherche >> def notes_search(request): >> if request.method == "POST": >> form= NotesSearchForm(request.POST) >> if form.is_valid(): >> search_q={} >> if request.POST.has_key('title') and request.POST['title']: >> >> search_q['title__icontains']=request.POST['title'] >> >> >> if request.POST.has_key('notetype') and >> request.POST['notetype']: >> search_q['notetype']=request.POST['notetype'] >> >> return HttpResponseRedirect(reverse('notes_list')) >> >> else: >> results = Notes.objects.none >> form = NotesSearchForm() >> >> return render_to_response ("notes/search.html", {"form" : form, >> "results": results}, context_instance=RequestContext(request)) >> >> >> Ma listview: >> class NotesListView(ListView): >> queryset = Notes.objects.all() >> template_name = "notes/list.html" >> context_object_name = 'note_list' >> paginate_by = 10 >> +1. N'utilisez qu'une seule vue.
>> >> def get_queryset(self): >> return self.queryset.filter() >> >> def get_context_data(self, **kwargs): >> context = super(NotesListView, self).get_context_data(**kwargs) >> >> return context >> >> >> dans self.kwargs de get_context_data (ou self.kwargs de get_queryset) : >> je ne récupère pas mes request.POST de ma fonction search si bien que je >> ne peux pas filtrer ? >> _______________________________________________ >> django mailing list >> [email protected] >> http://lists.afpy.org/mailman/listinfo/django > _______________________________________________ > django mailing list > [email protected] > http://lists.afpy.org/mailman/listinfo/django _______________________________________________ django mailing list [email protected] http://lists.afpy.org/mailman/listinfo/django
