Vous n'êtes pas identifié(e).
Salut à tous,
Sachant que include n'accepte pas les variables, quelle est la "bonne
pratique" pour inclure un bout de html générique avec des variables dans un
template django ?
J'ai vu qu'il existait divers snippets pour ça (comme par exemple la
possibilité d'avoir des macros dans les templates), mais ce n'est pas trop
dans le style django non ?
Merci d'avance
Jean-mat
Hors ligne
Le 8 nov. 2010 à 09:58, Jean-mathieu Grimaldi a écrit :
> Sachant que include n'accepte pas les variables, quelle est la "bonne pratique" pour inclure un bout de html générique avec des variables dans un template django ?
>
> J'ai vu qu'il existait divers snippets pour ça (comme par exemple la possibilité d'avoir des macros dans les templates), mais ce n'est pas trop dans le style django non ?
Hello,
Peut-être que tu cherches les inclusion tags ?
http://docs.djangoproject.com/en/dev/howto/custom-template-tags/#inclusion-tags
Bonne journée,
David
Hors ligne
Le 08/11/10 09:58, Jean-mathieu Grimaldi a écrit :
> Salut à tous,
>
> Sachant que include n'accepte pas les variables, quelle est la "bonne
> pratique" pour inclure un bout de html générique avec des variables dans un
> template django ?
include accepte les variables sans broncher, je le fais sur un projet
Hors ligne
De plus le morceau (html) ajoutée par l'include accède au "context", c'est
à dire à toutes les variables du template, par conséquent quel intérêt de
passer des paramètres supplémentaires ?
Cdlt,
Samuel Martin
2010/11/8 Olivier Meunier <om _AT_ neokraft.net>
> Le 08/11/10 09:58, Jean-mathieu Grimaldi a écrit :
>
> Salut à tous,
>>
>> Sachant que include n'accepte pas les variables, quelle est la "bonne
>> pratique" pour inclure un bout de html générique avec des variables dans
>> un
>> template django ?
>>
>
> include accepte les variables sans broncher, je le fais sur un projet
>
> --
> Olivier
>
> _______________________________________________
> django mailing list
> django _AT_ lists.afpy.org
> http://lists.afpy.org/mailman/listinfo/django
>
Hors ligne
Le 8 novembre 2010 10:11, David Larlet <larlet _AT_ gmail.com> a écrit :
>
> Le 8 nov. 2010 à 09:58, Jean-mathieu Grimaldi a écrit :
> > Sachant que include n'accepte pas les variables, quelle est la "bonne
> pratique" pour inclure un bout de html générique avec des variables dans un
> template django ?
> >
> > J'ai vu qu'il existait divers snippets pour ça (comme par exemple la
> possibilité d'avoir des macros dans les templates), mais ce n'est pas trop
> dans le style django non ?
>
> Hello,
>
> Peut-être que tu cherches les inclusion tags ?
>
> http://docs.djangoproject.com/en/dev/howto/custom-template-tags/#inclusion-tags
Yep merci ;-)
jean-mat
>
>
> Bonne journée,
> David
>
> _______________________________________________
> django mailing list
> django _AT_ lists.afpy.org
> http://lists.afpy.org/mailman/listinfo/django
>
Hors ligne
Le 8 novembre 2010 15:26, Samuel Martin <martin.sam _AT_ gmail.com> a écrit :
> De plus le morceau (html) ajoutée par l'include accède au "context", c'est
> à dire à toutes les variables du template, par conséquent quel intérêt de
> passer des paramètres supplémentaires ?
>
Par exemple, j'ai un bout de code html qui produit un tag, lien + image +
legende, utilisé un peu partout sur mon site.
Dans mon template je vais boucler sur une série d'éléments, et je veux
inclure ce bout de html, passer les éléments ne pose pas de problème, mais
si je veux passer différentes largeur/ hauteur pour le tag, une classe css
(...), je ne vais surement pas mettre ces variables dans le contexte global
de la vue.
>
> Cdlt,
>
> Samuel Martin
>
> 2010/11/8 Olivier Meunier <om _AT_ neokraft.net>
>
> Le 08/11/10 09:58, Jean-mathieu Grimaldi a écrit :
>>
>> Salut à tous,
>>>
>>> Sachant que include n'accepte pas les variables, quelle est la "bonne
>>> pratique" pour inclure un bout de html générique avec des variables dans
>>> un
>>> template django ?
>>>
>>
>> include accepte les variables sans broncher, je le fais sur un projet
>>
>
Ah ? un exemple ?
Merci
jean-mat
>
>> --
>> Olivier
>>
>> _______________________________________________
>> django mailing list
>> django _AT_ lists.afpy.org
>> http://lists.afpy.org/mailman/listinfo/django
>>
>
>
> _______________________________________________
> django mailing list
> django _AT_ lists.afpy.org
> http://lists.afpy.org/mailman/listinfo/django
>
Hors ligne
> Dans mon template je vais boucler sur une série d'éléments, et je veux
> inclure ce bout de html, passer les éléments ne pose pas de problème, mais
> si je veux passer différentes largeur/ hauteur pour le tag, une classe css
> (...), je ne vais surement pas mettre ces variables dans le contexte global
> de la vue.
Le tag {% with %} peut t'aider...
{% with mavariable as truc %}
{% include "_monboutdehtml.html" %}
{% endwith %}
et dans ton bout de html:
{{ truc }}
Hors ligne
Bruno a très bien répondu mais je me permets de rajouter une couche.
*Dans mon template je vais boucler sur une série d'éléments, et je veux
inclure ce bout de html, passer les éléments ne pose pas de problème, mais
si je veux passer différentes largeur/ hauteur pour le tag, une classe css
(...), je ne vais surement pas mettre ces variables dans le contexte global
de la vue.*
Largeur et hauteur dépendent de quel paramètre ?
En fonction de tes besoins on peut au choix initialiser et passer des
paramètres depuis chaque actions/views.py soit encapsuler tout ceci dans un
inclusion_tag.
Je pense que tu as compris, contrairement à un "include", "l'inclusion tag"
embarque à la fois un template et une logique métier (~ bout d'action) si on
peut dire.
Cdlt,
Samuel Martin
Hors ligne