Quelqu'un peut-il m'aider à trouver un moyen d'obtenir ce qui suit (voir les extraits ci-dessous) dans les modèles Django? Je sais que vous ne pouvez pas utiliser plus d'une extension, mais je suis nouveau à django et je ne connais pas la syntaxe appropriée pour quelque chose comme ça. Je veux pouvoir faire ceci pour que je puisse utiliser ma disposition div imbriquée pour des raisons css sans avoir à le taper comme ça à chaque fois et risquer une faute de frappe. En mots, je veux pouvoir avoir un modèle de page étendre mon fichier base.html, puis utiliser des extraits HTML du contenu du modèle dynamique (ie modèle pour les boucles ou d'autres périphériques logiques, pas seulement une variable de contexte que j'ai définie depuis mon contrôleur de vue).Comment puis-je utiliser des extraits de bloc html avec du contenu dynamique dans un modèle django qui étend un autre fichier?
modifier: Je veux être en mesure d'afficher un contenu arbitraire de façon arbitraire dans chaque colonne. Par exemple, j'aimerais pouvoir afficher un ul d'images dans une colonne puis, sur la même page, afficher un autre ensemble de colonnes affichant une table de données. Voici un exemple que je tapé: example of alot of random columns
Je me rends compte que l'image exemple a tout le texte généré à partir de la sortie du testeur web django mais chaque coulmn devrait être en mesure d'avoir un contenu aléatoire. Et ils devraient être imbriqués. Est-ce possible avec le langage de template django par défaut?
------------------------------------------------------------
base.html
------------------------------------------------------------
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<title>{% block title %}Title{% endblock %}</title>
</head>
<body>
<div class="wrapper">
<div class="header">
This is the common header
</div>
<div class="nav">
This is the common nav
</div>
{% if messages %}
<div class="messages">
<ul>
{% for message in messages %}
<li{% if message.tags %} class="{{ message.tags }}"{% endif %}>{{ message }}</li>
{% endfor %}
</ul>
</div>
{% endif %}
<div class="content">
{% block content %}Page Content{% endblock %}
</div>
<div class="footer">
This is the common footer
</div>
</div>
</body>
</html>
------------------------------------------------------------
columnlayout2.html
------------------------------------------------------------
<div class="twocol container2">
<div class="container1">
<div class="col1">
{% block twocol_col1 %}{% endblock %}
</div>
<div class="col2">
{% block twocol_col2 %}{% endblock %}
</div>
</div>
</div>
------------------------------------------------------------
columnlayout3.html
------------------------------------------------------------
<div class="threecol container3">
<div class="container2">
<div class="container1">
<div class="col1">
{% block threecol_col1 %}{% endblock %}
</div>
<div class="col2">
{% block threecol_col2 %}{% endblock %}
</div>
<div class="col3">
{% block threecol_col3 %}{% endblock %}
</div>
</div>
</div>
</div>
------------------------------------------------------------
page.html
------------------------------------------------------------
{% extends "base.html" %}
{% block content %}
{% extends "columnlayout2.html" %}
{% block twocol_col1 %}twocolumn column 1{% endblock %}
{% block twocol_col2 %}twocolumn column 2{% endblock %}
{% extends "columnlayout3.html" %}
{% block threecol_col1 %}threecol column 1{% endblock %}
{% block threecol_col2 %}threecol column 2{% endblock %}
{% block threecol_col3 %}threecol column 3{% endblock %}
{% endblock %}
------------------------------------------------------------
page.html output
------------------------------------------------------------
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<title>Title</title>
</head>
<body>
<div class="wrapper">
<div class="header">
This is the common header
</div>
<div class="nav">
This is the common nav
</div>
<div class="content">
<div class="twocol container2">
<div class="container1">
<div class="col1">
twocolumn column 1
</div>
<div class="col2">
twocolumn column 2
</div>
</div>
</div>
<div class="threecol container3">
<div class="container2">
<div class="container1">
<div class="col1">
threecol column 1
</div>
<div class="col2">
threecol column 2
</div>
<div class="col3">
threecol column 3
</div>
</div>
</div>
</div>
</div>
<div class="footer">
This is the common footer
</div>
</div>
</body>
</html>
On dirait que [tags d'inclusion] (http://docs.djangoproject.com/fr/1.1/howto/custom-template-tags/#inclusion-tags) sont ce que vous recherchez. –