Filtre
Filtre slúžia na "zmenu formátovania" údajov prezentovaných v šablóne, napríklad na určenie formátu dátumu a podobne. Tu uvediem len dva malé príklady, pre zoznam filtrov si pozrite dokumentáciu.
Filter lower
1 >>> from django.template import Template,Context
2 >>> t=Template("Skuska filtra: {{ value|lower }}")
3 >>> c=Context({'value':'AbCdE'})
4 >>> print t.render(c)
5 Skuska filtra: abcde
Filter lower vrátil zmalopísmennenú hodnotu premennej value
Filter default
Filtre môžu mať parametre:
1 >>> c=Context({'value':'AbCdE'})
2 >>> t=Template('Skuska filtra: {{ value2|default:"neudane" }}')
3 >>> print t.render(c)
4 Skuska filtra: neudane
Filter default vrátil hodnotu svojho parametra, pretože premenná value2 nebola v kontexte c. Ak by tam bola, vrátil by jej hodnotu.
Tag filter
Filter je možné uplatniť nielen na jednu hodnotu, ale aj na celú pasáž pomocou tagu filter.
1 >>> t=Template('''{% filter upper %}
2 ... {{ value }} vsetko toto je velkymi pismenami
3 ... {% endfilter %}''')
4 >>> c=Context({'value':'AbCdE'})
5 >>> print t.render(c)
6
7 ABCDE VSETKO TOTO JE VELKYMI PISMENAMI
8
9 >>>
Ďalšie informácie
Filtre je možné zreťazovať: {% filter force_escape|lower %} a podobne.
- Je možné si napísať vlastné filtre. Teoreticky sa dá tak natlačiť do šablón pythonovský kód. Nie je to dobrý nápad.
- Do filtrov patrí iba prezentačná logika, nie aplikačná.