Wpis na 1. poziomie, wysłany 01 kwietnia 2008 o 01:02:10
W szablonach Django dostępny jest spory zestaw filtrów. Używa się ich prosto:
{{ obiekt|filrt }}
{{ obiekt|filtr:"parametr" }}
Dostępne filtry pokrywają większość popularnych sytuacji, ale może czasem przydać się zrobienie jakiegoś własnego.
Wejdź do katalogu swojej aplikacji w której chcesz używać filtru. Stwórz katalog templatetags, a w nim pliki init.py i twoja_nazwa.py.
mkdir templatetags
touch templatetags/__init__.py
touch templatetags/TWOJANAZWA.py
w pliku TWOJANAZWA.py:
from django import template
register = template.Library()
@register.filter("nazwa_naszego_filtra")
def nazwa_naszego_filtra(value):
#tutaj jakies operacje.
return cośtam
Jak pisałem wcześniej, filtr może przyjmować parametr:
def nazwa_naszego_filtra(value, argument):
#tutaj jakies operacje.
return value + argument
Przed użyciem naszego filtra w szablonie ładujemy go za pomocą:
{% load nazwa_filtra %}
i używamy:
{{ obiekt|filtr:"argument" }}
Mam nadzieję, że zbytnio nie namieszałem ;)