To pytanie zostało zadane before, ale przyjęte rozwiązanie (podane przez sam plakat z zapytaniem) mówi, że możemy dodać nowy filtr do jinja2.filter.FILTER.Dodawanie niestandardowego filtra do jinja2 pod piramidą
Jednak w przypadku jinja2 documentation zaleca się dodanie filtra do środowiska.
Pracuję nad aplikacją pod piramidą i muszę zdefiniować mój filtr niestandardowy i wykonać następujące czynności.
from jinja2 import Environment
#Define a new filter
def GetBitValue(num,place):
y = (num >> (place-1)) & 1
return y
env = Environment()
env.filters['getbitvalue'] = GetBitValue
Gdzie należy umieścić ten fragment kodu?
Próbowałem umieścić go w pliku widoków, ale to oczywiście nie zadziałało.
Jeśli umieści się go w __init__.py
, w jaki sposób mogę się upewnić, że jinja2 podnosi go? Mam na myśli, w jaki sposób odesłać ustawienia env
do jinja2 w piramidzie?
Nie powinieneś tworzyć nowego środowiska, ale korzystać z tej piramidy. – ThiefMaster
Jak to zrobić? – RedBaron
Z tego, co czytałem w piramidzie docs jinja nie jest obsługiwany natywnie, więc proszę napisać kod, w jaki sposób rejestrujesz jinja jako renderer w piramidzie. – ThiefMaster