Yoherencia de plantilla múltiple de django: ¿es este el estilo correcto?
así que tengo una base.html:
<html>
<body>
<div id="header"> ... </div>
{% block main %}{% endblock %}
<div id="footer"> ... </div>
</body>
</html>
y también tengo una página que muestra mensajes de usuarios:
{% extends base.html %|
{% block main%}
<h1>welcome to yours posts hangout!</h1>
... snazzy code here that shows all the posts ...
{% endblock%}
ahora, el problema es, tal vez tengo otra página como esta:
{% extends base.html %|
{% block main%}
<h1>look at all posts by all users!</h1>
... snazzy code here that shows all the posts by all the users ...
{% endblock%}
porque todos pertenecemos a mensa, podemos ver que el código elegante que tengo está siendo repetido - dos veces (para diversión tautológica!)
no quiero repetir este código - quiero decir, si va a ser una gran molestia lo haré, pero de lo contrario hubiera como la página que tiene el código de snazzy definido, y luego desliza los pequeños cambios arriba y (posiblemente) debajo.
mi comprensión de las plantillas es inestable, creo que esta es la forma de hacerlo. ¿hay una forma mejor/estandarizada?
snazzy.html:
{% extends base.html %|
{% block aboveSnazzy%}
{% endblock %}
... snazzy code here that shows all the posts by all the users ...
{% block belowSnazzy%}
{% endblock %}
{% endblock%}
y luego para cada una de las diferentes piezas, i puedo tener:
usersArea.html:
{% extends snazzy.html %|
{% block aboveSnazzy%}
<h1>welcome to yours posts hangout!</h1>
{% endblock %}
{% block belowSnazzy%}
<h1>i didn't think this far ahead in the example</h1>
{% endblock %}
{% endblock%}
etc etc para las otras piezas demasiado !
bien, entonces sé que puedo simplemente enviar un parámetro con un encabezado diferente o lo que sea - pretendemos que las cosas anteriores de Snazzy son, no sé, mostrando alguna otra plantilla que me gustaría o haciendo algo no trivial. ¿Es lo que he detallado más arriba que la "manera" de hacerlo?
¡salud!
Thankyo! No sabía sobre las etiquetas de inclusión/inclusión. ¡Los echaré un vistazo! – bharal