El Blog de Trespams

Blog personal sobre tecnologia, gestió de projectes i coses que se me passen pel cap

Django: la potència de les plantilles

Una de les coses que estic trobant més útils i potents de Django és l'herència de plantilles. Acostumat al jsp o a php trob que la idea d'herència per la part de visualització és molt bona cosa. Coma bona herència et permet fer canvis en cascada des de la plantilla pare, però tenguent en compte que si un fill sobreescriu alguna part aquesta no es veruà modificada pels canvis.

L'herència s'implementa a partir dels blocs. Per exemple:

br />"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd
<html
xmlns="http://www.w3.org/1999/xhtml" lang="{{ LANGUAGE_CODE }}"
xml:lang="{{ LANGUAGE_CODE }}">
</html>
<pre>
<head>
<title>
{%block title %}Test{% endblock %}
</title>
<meta
name="author" content="Antoni Aloy"/>
<meta
name="development-tool" content="Desenvolupat amb Django"/>
<meta
http-equiv="content-type" content="test/html;charset=utf-8"/>
</head>
{%load i18n %}
<body>
{% block contingut %}

{%endblock %}
</body>

Podria definir la nostra plantilla base. Suposem que a la nostra aplicació li hem donat el nom de test i a la plantilla anterior el nom be base. Una plantilla filla, anomenada per exemple index, que tingués el seu propi contingut seria tan simple com

{% extends "test/base" %}
{% block title %}
Pàgina inici
{% endblock %}
{% block contingut %}
I aquí podem posar contingut i/o definir nous blocs.
{%endblock %}

blog comments powered by Disqus