我有一个类似的数据结构
data = {{'value': 1, 'state': False},
{'value': 2, 'state': True}}
Run Code Online (Sandbox Code Playgroud)
国家和价值将根据外部条件而变化的地方.
我想使用Jinja2 for ... else循环条件,比如
{% for item in data where item.state == True %}
{{ item.value }}
{% else %}
no true items
{% endfor %}
Run Code Online (Sandbox Code Playgroud)
我在多个地方使用数据结构,有时候都需要显示.我只想保留一个结构的副本,并让Jinja2模板负责显示state == True的项目或没有任何项目的消息,而不是必须预先处理它Python在将其提供给模板之前,或将结构拆分为多个部分.
这是在使用Python 2.7和Jinja2 2.6的Google App Engine上运行的,数据结构由memcache支持.
在 Python 的 Jinja2 模板引擎中,我的“带上下文”宏无法从上下文访问全局变量。
导入语句:
{% import 'en-US/my_macro.html' as all_macros %}
{% from 'en-US/my_macro.html' import the_macro with context %}
Run Code Online (Sandbox Code Playgroud)
宏用法:
{{ all_macros.the_macro() }}
Run Code Online (Sandbox Code Playgroud)
正在调用宏,但全局变量没有价值。
这是“带上下文”的相关文档