Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/360.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Jinja:作为数组的上下文_Python_Templates_Jinja2 - Fatal编程技术网

Python Jinja:作为数组的上下文

Python Jinja:作为数组的上下文,python,templates,jinja2,Python,Templates,Jinja2,Jinja2上下文只能是一本字典吗?在许多情况下,我没有{'something':[1,2,3]},而只是[1,2,3] 为了循环浏览,我是否被迫将列表包装到字典中 EDIT:如果有人认为它有用,我最终会将上下文中的所有内容传递给下面的函数,这样它就不会更改字典,而是将列表包装在{'this':[MY_ARRAY]}结构中 def checked_context(ctx): return ctx if isinstance(ctx, dict) else {'this': ctx} 基

Jinja2上下文只能是一本字典吗?在许多情况下,我没有
{'something':[1,2,3]}
,而只是
[1,2,3]

为了循环浏览,我是否被迫将列表包装到字典中

EDIT:如果有人认为它有用,我最终会将上下文中的所有内容传递给下面的函数,这样它就不会更改字典,而是将列表包装在
{'this':[MY_ARRAY]}
结构中

def checked_context(ctx):
    return ctx if isinstance(ctx, dict) else {'this': ctx}
基本上,您可以继续正常使用字典,并可以使用
this
访问列表,就像下面的示例中处理简单列表,例如
[1,2,3]

{% for number in this %}
    {{ number }}
{% endfor %}

Jinja上下文是一个名称空间;因此,是的,您必须使用字典,否则这些值不会绑定到名称,以便您在模板中引用