Dies ist eine alte Version des Dokuments!
Gibt es nicht - muss durch if-Anweisungen abgebildet werden.
{% if Bedingung %}
Code
{% else %}
Code
{% endif %}
Ab django 1.4 existiert auch {% elif %}, voher kann man sich mit:
{% load assign %}
{% assign name="Variablenname" %} 0 {% endassign %}
{% if Bedingung %}
Code
{% assign name="Variablenname" %} 1 {% endassign %}
{% endif %}
{% if Bedingung AND Variablenname == 0 %}
Code
{% assign name="Variablenname" %} 1 {% endassign %}
{% endif %}
{% if Bedingung AND Variablenname == 0 %}
Code
{% else %}
Code
{% endif %}
Man setzt einfach eine Variable wenn ein if-Zweig durchlaufen wurde und prüft bei allen folgenden if-Anweisungen ob diese Variable auf 0 steht, steht sie auf 1, wurde bereits ein if-Zweig durchlaufen und es soll kein weiterer if-Zweig durchlaufen werden. Man erhält so eine case- oder switch-Anweisung.
Zuweisung:
{% assign name="Variablenname" %} 1 {% endassign %}
Auslesen:
{{ Variablenname }}
bzw. letztendlich wie jede andere interne Variable auch
Hinweis: Möglicherweise funktioniert Assign nur beim höchsten Eltern-Template (also bei Vererbung/verschachtelten Templates das Höchste - das was kein „extends“ mehr enthält)
| Problem | Beschreibung | Mögliche Lösung |
|---|---|---|
| Ein oder alle Blöcke ({% Block Name %}) werden leer ausgegeben | Obwohl die Blöcke einen Inhalt haben sollten, werden sie ohne Inhalt in der Website angezeigt - es kommt keine Fehlermeldung | Der Name eines oder mehrere Blöcke (es müssen alle Ebenen bei vererbten Templates geprüft werden) steht nicht in „ “. Also (Falsch): {% Block main %} statt (Richtig): {% Block „main“ %} |
| Ausgabe „The _imaging C module is not installed“ | PIL (Python Image Librarie) vermisst das Modul _imaging bzw. das Modul ist nicht gegen die Systembibliotheken gelinkt. | PIL ist nur teilweise in Python relaisiert, ein Teil wird durch C-Bibliotheken erledigt (u.a. libjpeg) die über das PIL-eigene C-Modul _imaging realisiert wird. Vor allem in virtualenv kann es nach dem verschieben auf eine andere Maschine zu Problemen kommen.
Durch das deinstallieren und wieder installieren wird _imaging neu compiliert und gegen die vorhandenen Systembibliotheken gelinkt |