La page d'héritage du template sur le site django ne résout pas vraiment mon problème (Django 1.2).Inclusion du modèle Django
Ma page de base ressemble à:
...
<div class="grid_12" id="content">
{% block content %}{% endblock %}
</div>
...
{% block javascript %}{% endblock %}
J'ai un autre modèle qui définit le contenu de ceux-ci:
{% block content %}
animated sidebar
{% endblock %}
...
{% block javascript %}
alert('hello');
{% endblock %}
C'est quelque chose comme une barre latérale animée, donc je ne veux pas prolonger le modèle de base car il est auxiliaire au contenu principal de la page. Si j'utilise simplement "include", tout est placé là où la balise "include" est placée - par conséquent le javascript ne fonctionne pas car il est inclus avant l'une de ses dépendances.
Quelle est la meilleure façon de résoudre ce problème?
EDIT
Désolé, je ne me suis pas fait comprendre.
J'ai mes pages de contenu qui rendent un modèle qui étend "base.html". Dans "base.html" je veux inclure un modèle de barre latérale qui doit ajouter des blocs dans "base.html". J'ai donc essayé de mettre simplement include "sidebar.html"
dans "base.html", mais il insère juste la partie où la balise "include" est. Ce que je veux faire, c'est ajouter les blocs dans "base.html", qui peuvent eux-mêmes avoir été remplis par "page.html".
Il est peut-être important de dire que "sidebar.html" est entièrement statique, c'est-à-dire qu'il n'y a pas de callable associé. Donc peut-être cette question devrait être vraiment "Comment puis-je inclure un modèle statique dans base.html afin qu'il s'ajoute aux blocs dans base.html indépendamment de la sortie de la vue réelle qui traite la demande?"
oui je fais, mais je veux aussi ce modèle inclus où je le place dans le modèle de base. il semble que je ne peux ajouter des blocs que si j'utilise "extends", et ensuite j'entre dans une boucle infinie. – Roger
Ensuite, vous devrez aller la route amusante et faire des étiquettes de modèles personnalisés: http://docs.djangoproject.com/fr/1.0/howto/custom-template-tags/ –
@Roger, de nos jours, vous pouvez utiliser [django- sekizai] (http://django-sekizai.readthedocs.org/en/latest/). – Paolo