Jinja2上下文只能是字典吗?在许多情况下,我没有{'something': [1, 2, 3]}
,只是[1, 2, 3]
。
我是否被迫将列表包装到字典中以便循环播放?
编辑:如果有人发现它有用,我最后将每个上下文传递给以下函数,以便它保持字典不变,但将列表包装在{'this': [MY_ARRAY]}
结构中。 / p>
def checked_context(ctx):
return ctx if isinstance(ctx, dict) else {'this': ctx}
基本上,您可以像往常一样使用词典,并且可以使用this
访问列表,例如以下示例中处理简单列表,例如[1, 2, 3]
:
{% for number in this %}
{{ number }}
{% endfor %}
答案 0 :(得分:1)
Jinja上下文是名称空间;所以是的,您必须使用字典,否则值不会绑定到您在模板中引用的名称。