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
Toggle line numbers
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:
Toggle line numbers
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.
Toggle line numbers
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á.