在Jinja2中导入/包含指定的变量
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在Jinja2中导入/包含指定的变量相关的知识,希望对你有一定的参考价值。
在Jinja2中,如何在与{% set X=Y %}
合并的文件中访问分配的变量(即include
)?
鉴于两个Jinja2文件,我希望以下工作:
A.jinja
:
Stuff
{% include 'B.jinja' -%}
B has {{ N }} references
B.jinja
:
{% set N = 12 %}
我希望A.jinja
在使用Jinja2编译时会产生以下输出:
Stuff
B has 12 references
但是,它产生:
Stuff
B has references
对于如何在包含设置N
的文件的文件中访问Jinja2变量(例如上面的N
),我将非常感激。
谢谢你的阅读。
布赖恩
答案
include
和import
之间存在差异,尽管你应该能够做到这两点。
include 'B.jinja
只是渲染模板并忽略其中的任何变量赋值或宏。import 'B.jinja' as B
,进口B
好像它是一个模块,所以你必须输出B.N
。from 'B.jinja' import N
直接进口变量N
。
将导入行更改为最后一个选项,看看是否修复了这些问题。如果您需要更多帮助,请查看the documentation。
以上是关于在Jinja2中导入/包含指定的变量的主要内容,如果未能解决你的问题,请参考以下文章
我想从另一个 python 文件中导入一个变量(Django)