【问题标题】:Set variable in jinja在 jinja 中设置变量
【发布时间】:2011-04-13 05:25:37
【问题描述】:

我想知道如何在 jinja 中使用另一个变量设置一个变量。我会解释一下,我有一个子菜单,我想显示哪个链接是活动的。我试过这个:

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

其中记录类型是为我的模板提供的变量。

【问题讨论】:

  • 从谷歌登陆这里的人:你可能主要对official docs on the set tag感兴趣,而不是提问者在这里犯的具体语法错误或如何修复它,这是这里的最佳答案并在链接的重复地址。

标签: python templates variables variable-assignment jinja2


【解决方案1】:

多变量赋值

的好记法
{% set label_cls, field_cls = "col-md-7", "col-md-3" %}

【讨论】:

  • 这似乎无法回答问题?
  • @JohnRPerry 但这是对已接受答案的一个很好的补充。
【解决方案2】:

这样设置就行了

{% set active_link = recordtype -%}

【讨论】:

  • 为什么特别喜欢这样(减号在末尾而不是开头)?如果我没记错的话,这将删除尾随但不是前导的空格。目的是什么?
  • 它在原始问题中¯\_(ツ)_/¯
  • 减号 - 附加到语句的开头或结尾(例如 {%- -%})告诉 Jinja 删除它后面的新行。见webforefront.com/django/usebuiltinjinjastatements.html
【解决方案3】:

{{ }} 告诉模板 print 值,这在您尝试执行的表达式中不起作用。相反,请使用{% set %} 模板标签,然后以与普通 python 代码相同的方式分配值。

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

结果:

it worked

【讨论】:

  • 如果我的变量是 dict 现在 {% set dict.key = 'test' %} 不起作用
  • 已删除的答案还包括此链接,作为此答案的补充信息:jinja.pocoo.org/docs/tricks/#highlighting-active-menu-items
  • 这是一个很好的解释和简单的解释。喜欢它:)
  • 我们能否创建一个全局 jinja 变量并在我们嵌入 jinja 变量的整个 html 文件中使用它? @Soviut
猜你喜欢
  • 2020-09-20
  • 2021-12-17
  • 2012-03-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多