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

Répondre à