1
LaTeXドキュメントを生成するために2番目のJinja環境を作成します。 This snippetはFlask.create_jinja_environment
を使用しますが、カスタムローダを使用します。スニペットのようにenvを作成するにはどうすればよいですか?テンプレートはアプリのテンプレートがあり、同じ場所からロードされるようにcreate_jinja_environment
使用するスニペットFlaskアプリで2番目のJinja環境を作成する
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
ありがとうございました!私は標準的な問題があります:すべてのFlask .pyファイルでこの環境にアクセスしたい場合、 'env'を' g'( 'g.env = env')に追加する必要がありますか? – kkoommbb
いいえ、必要な場所にインポートする必要があります。 – davidism