Ich möchte eine zweite Jinja-Umgebung erstellen, um ein LaTeX-Dokument zu erstellen. This snippet verwendet Flask.create_jinja_environment
, aber ich möchte einen benutzerdefinierten Loader verwenden: FileSystemLoader('/path/to/latex/templates')
. Wie kann ich ein env wie das Snippet erstellen, aber meinen benutzerdefinierten Loader verwenden?Erstellen Sie eine zweite Jinja-Umgebung in der Flask-App
LATEX_SUBS = ( (re.compile(r'\\'), r'\\textbackslash'), (re.compile(r'([{}_#%&$])'), r'\\\1'), (re.compile(r'~'), r'\~{}'), (re.compile(r'\^'), r'\^{}'), (re.compile(r'"'), r"''"), (re.compile(r'\.\.\.+'), r'\\ldots'), ) def escape_tex(value): newval = value for pattern, replacement in LATEX_SUBS: newval = pattern.sub(replacement, newval) return newval texenv = app.create_jinja_environment() texenv.block_start_string = '((*' texenv.block_end_string = '*))' texenv.variable_start_string = '(((' texenv.variable_end_string = ')))' texenv.comment_start_string = '((=' texenv.comment_end_string = '=))' texenv.filters['escape_tex'] = escape_tex
Danke! Ich habe Standardprobleme: Wenn ich Zugriff auf diese Umgebung in allen Flask .py-Dateien haben möchte, sollte ich 'env' zu' g' ('g.env = env') hinzufügen? – kkoommbb
Nein, Sie sollten es bei Bedarf importieren. – davidism