2010-09-16 47 views
141

我想知道如何设置变量与另一个变量在忍者。我会解释,我有一个子菜单,我想显示哪个链接处于活动状态。我试过这个:设置变量在忍者

{% set active_link = {{recordtype}} -%} 

其中recordtype是给我的模板的变量。

+69

我觉得是时候接受Soviut的回答;) – 2011-10-06 17:21:11

+1

[Jinja表达式中的引用模板变量]可能的重复(http://stackoverflow.com/questions/32024551/reference-template-variable-within-jinja-expression) – davidism 2016-03-06 21:17:08

+1

@KyleWild,它只有6自Soviut回答以来的一年。让我们看看MyTux是否可以将它延长到10年:) – 2017-05-22 16:54:45

回答

334

{{ }}告诉模板打印值,这将不会在你想要做的表达式中工作。相反,使用{% set %}模板标记,然后以与在普通Python代码中相同的方式分配值。

{% set testing = 'it worked' %} 
{% set another = testing %} 
{{ another }} 

结果:

it worked 
+0

如果我的变量是字典现在{%set dict.key ='test'%}不工作 – Ib33X 2011-11-11 11:19:35

+20

这听起来像是你想在模板中做太多的工作。但我认为你可以使用方括号来访问字典。 – Soviut 2011-11-24 07:02:42

+0

删除的答案还包括这个链接,作为这个答案的补充信息:http://jinja.pocoo.org/docs/tricks/#highlighting-active-menu-items – Pascal 2016-07-12 07:37:31

9

设置好它这样

{% set active_link = recordtype -%} 
+4

为什么特别像这样(减号结束但不是在开始)?如果我没有弄错的话,这将消除拖尾而不是空白。为了什么目的? – Leonid 2016-11-07 06:00:19

12

尼斯速记多变量赋值

{% set label_cls, field_cls = "col-md-7", "col-md-3" %}