Django Templates
Samstag, den 18. Oktober 2008Django kommt mit einer mächtigen aber überschaubaren Template-Engine daher. Für die Einen ist sie ein netter Kompromiss zwischen Smarty und Cheetah, darüber hinaus hat sie aber auch die schönste Syntax, wie ich finde. Warum sollte man also ausschließlich in Django Projekten davon Gebrauch machen? Darum ein einfaches Beispiel: Ein Management-Script, soll eine Bestätigung-Mail an einen Nutzer senden. Wir kümmern uns hier nur um die Formatierung der Ausgabe:
Zunächst muss das Settings-Module geladen werden, um anschließend die Optionen für das Template-Module setzen zu können.
from django.conf import settings
settings.configure(
TEMPLATE_DIRS = ( 'template/', ),
TEMPLATE_DEBUG = False,
)
Erst jetzt kann man das Template-Module nutzen.
from django.template import loader, Context
Nun lädt man sein Template, im Beispiel './templates/mail.txt'.
t = loader.get_template('mail.txt')
Der 'Context' wird mit einem Dictionary initialisiert.
c = Context( {
'subject' : 'Der Titel',
'name' : 'Max Mustermann',
...
} )
Die Ausgabe erfolgt.
print t.render(c)
Hier die Links zum Nachschlagen:
Damit ist auch Schluss mit endlos-dreifach-gequoteten Text-Passagen, um ein bis zwei Absätze Text gescheit auszugeben...