在 jinja 中设置变量
我想知道如何在 jinja 中设置一个变量与另一个变量。我会解释一下,我有一个子菜单,我想显示哪个链接处于活动状态。我尝试了这个:
{% set active_link = {{recordtype}} -%}
其中 recordtype 是为我的模板指定的变量。
I would like to know how can I set a variable with another variable in jinja. I will explain, I have got a submenu and I would like show which link is active. I tried this:
{% set active_link = {{recordtype}} -%}
where recordtype is a variable given for my template.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
{{ }}
告诉模板打印值,这在您尝试执行的表达式中不起作用。相反,请使用{% set %}
模板标记,然后按照与普通 Python 代码相同的方式分配值。结果:
{{ }}
tells the template to print the value, this won't work in expressions like you're trying to do. Instead, use the{% set %}
template tag and then assign the value the same way you would in normal python code.Result:
多变量赋值的良好简写
Nice shorthand for Multiple variable assignments
只需像这样设置即可
Just Set it up like this
您可以使用
set
标签来完成此操作。请参阅官方文档。例如,
输出
注意:存在范围问题,这意味着变量值在循环迭代之间不会持续存在,例如,如果您希望某些输出以先前循环值和当前循环值之间的比较为条件:
打印
是因为变量没有持久化。相反,您可以使用可变的命名空间包装器:
打印。
它按预期
You can do this with the
set
tag. See the official documentation.For example,
outputs
Note: there are scoping issues which means that variable values don’t persist between loop iterations, for example, if you want some output to be conditional on a comparison between previous and current loop values:
prints
because the variable isn’t persisted. Instead you can use a mutable namespace wrapper:
which prints
as intended.