Salut, On n'appelle jamais une vue depuis un template, mais toujours l'inverse, on appelle un template depuis une vue (ou un templatetag dans certains cas).
Il faut comprendre que la vue est destinée à renvoyer une réponse HTTP complète et non pas un simple fragment HTML. Pour renvoyer des fragments HTML dans tes templates tu dois utiliser soit un filtre de template, soit un template tag. À priori le code de "affiche_derniere_annonce" ne nécessite pas vraiment d'entrée particulière, donc un template tag tout simple te suffira. Donc au choix comme tu veux l'implémenter : * Produire ton fragment HTML à partir d'un template dédié https://docs.djangoproject.com/en/dev/howto/custom-template-tags/#inclusion- tags * Renvoyer ton queryset dans le context de ton template courant puis l'y traiter https://docs.djangoproject.com/en/dev/howto/custom-template- tags/#setting-a-variable-in-the-context -- Cordialement, David THENON. Le samedi 21 avril 2012 13:38:41, sushi a écrit : > Bonjour, > > J'essaie d'appeler une vue à partir de mon template, cette vue me renvoie > une liste contenant un objet (j'ai pas trouver comment faire autrement). > > Voici le code de mon template: > > {% url cloud_of_dreams.portail.views.affiche_derniere_annonce %} > {% if derniere_annonce %} > {% for annonce in derniere_annonce %} > <p> > {{ annonce.contenu }} > </p> > {% endfor %} > > {% else %} > <p> > Pas d'annonce pour le moment. > </p> > {% endif %} > > Voici le code de ma vue: > > def affiche_derniere_annonce(request): > derniere_annonce=Annonce.objects.all().order_by('-date_publication')[:1] > c= Context({ > 'derniere_annonce': derniere_annonce, > }) > return HttpResponse(c) > > Et pour finir mon url: > > url(r'^derniere_annonce/$', 'affiche_derniere_annonce'), > > Django ne m'envoit pas d'erreur mais il m'affiche /derniere_annonce/ dans > ma page et vu que je ne récupère mon objet la condition dans mon template > est refusé. (ça m'affiche donc "Pas d'annonce pour le moment. " juste > après "/derniere_annonce/". > > En espérant que vous puissiez m'aider, > > Cordialement, > > sushi > _______________________________________________ > django mailing list > [email protected] > http://lists.afpy.org/mailman/listinfo/django _______________________________________________ django mailing list [email protected] http://lists.afpy.org/mailman/listinfo/django
