szarak@jabster.pl


Własny filrt w szablonie Django

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 ;)


Komentarze do notki Własny filrt w szablonie Django

Dodaj komentarz: