Django-fr

Forum

  • Accueil
  • » Django-fr
  • » Include avec variable dans les templates, bonnes pratiques

#1 08-11-2010 09:58:07

Jean-mathieu Grimaldi
Membre
Inscription : 12-10-2010
Messages : 17

Include avec variable dans les templates, bonnes pratiques

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

#2 08-11-2010 10:11:42

David Larlet
Membre
Inscription : 11-08-2010
Messages : 102

Re : Include avec variable dans les templates, bonnes pratiques

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

#3 08-11-2010 14:17:13

Olivier Meunier
Membre
Inscription : 11-08-2010
Messages : 29

Re : Include avec variable dans les templates, bonnes pratiques

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 smile

Hors ligne

#4 08-11-2010 15:26:16

Samuel Martin
Membre
Inscription : 11-08-2010
Messages : 30

Re : Include avec variable dans les templates, bonnes pratiques

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 smile
>
> --
> Olivier
>
> _______________________________________________
> django mailing list
> django _AT_ lists.afpy.org
> http://lists.afpy.org/mailman/listinfo/django
>

Hors ligne

#5 09-11-2010 10:22:19

Jean-mathieu Grimaldi
Membre
Inscription : 12-10-2010
Messages : 17

Re : Include avec variable dans les templates, bonnes pratiques

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

#6 09-11-2010 10:26:51

Jean-mathieu Grimaldi
Membre
Inscription : 12-10-2010
Messages : 17

Re : Include avec variable dans les templates, bonnes pratiques

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 smile
>>
>
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

#7 09-11-2010 13:08:56

Bruno Bord
Membre
Inscription : 11-08-2010
Messages : 25

Re : Include avec variable dans les templates, bonnes pratiques

> 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

#8 09-11-2010 14:22:53

Samuel Martin
Membre
Inscription : 11-08-2010
Messages : 30

Re : Include avec variable dans les templates, bonnes pratiques

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

  • Accueil
  • » Django-fr
  • » Include avec variable dans les templates, bonnes pratiques

Pied de page des forums