Files
notifications-admin/app/utils/nunjucks_jinja/flask_ext.py
T

31 lines
931 B
Python
Raw Normal View History

2024-02-06 13:17:09 -08:00
from flask.templating import Environment as FlaskEnvironment
from jinja2 import select_autoescape
2025-10-06 09:38:54 -04:00
from app.utils.nunjucks_jinja.templates import Environment as NunjucksEnvironment
from app.utils.nunjucks_jinja.templates import (
2024-02-06 13:17:09 -08:00
NunjucksExtension,
NunjucksUndefined,
)
class Environment(NunjucksEnvironment, FlaskEnvironment):
pass
2025-10-06 09:38:54 -04:00
def init_nunjucks_environment(app):
"""Use the Nunjucks-compatible Jinja environment in a Flask app
2024-02-06 13:17:09 -08:00
>>> from flask import Flask
2025-10-06 09:38:54 -04:00
>>> app = Flask("notifications_service")
>>> init_nunjucks_environment(app)
2024-02-06 13:17:09 -08:00
"""
app.jinja_environment = Environment
app.select_jinja_autoescape = select_autoescape(
("html", "htm", "xml", "xhtml", "njk")
)
jinja_options = app.jinja_options.copy()
jinja_options["extensions"].append(NunjucksExtension)
jinja_options["undefined"] = NunjucksUndefined
app.jinja_options = jinja_options
return app