Diese Frage wurde gestellt before aber die akzeptierte Lösung (gegeben durch das Frage-Poster selbst) sagt, dass wir den neuen Filter sofort zu jinja2.filter.FILTER hinzufügen können.Hinzufügen eines benutzerdefinierten Filters zu jinja2 unter Pyramide
Aber in der jinja2 documentation wird empfohlen, dass der Filter der Umgebung hinzugefügt wird.
Ich entwickle eine App unter Pyramide und muss meinen benutzerdefinierten Filter definieren und das Folgende tun.
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
Wo sollte dieses Codefragment platziert werden?
Ich habe versucht, es in der Views-Datei zu platzieren, aber das hat offensichtlich nicht funktioniert.
Wenn ich es in __init__.py
platziere, wie stelle ich sicher, dass jinja2 es aufnimmt? Ich meine, wie schicke ich die env
zu jinja2 Einstellungen unter Pyramide zurück?
Sie sollten keine neue Umgebung erstellen, sondern auf die eine Pyramide zugreifen. – ThiefMaster
Wie mache ich das? – RedBaron
Von dem, was ich in der Pyramide Docs gelesen habe, wird Jinja nativ nicht unterstützt, also poste bitte den Code, wie du jinja als Renderer in Pyramide registrierst. – ThiefMaster