如何获取 Jinja2 模板中的参数列表

Gio*_*lia 5 python templates jinja2 flask

如何获取传递给 Jinja2 模板的所有参数的列表?

如果我有一个非常通用的模板并且我想列出所有传递的参数(出于调试原因),有没有办法做到这一点?

就像是:

mytemplate.html

{% for argument in LIST_OF_ARGUMENT %}
    {{ argument }}<br>
{% endfor %}
Run Code Online (Sandbox Code Playgroud)

所以在视图中 /foobar

如果我以这种方式调用模板:

return render_template('mytemplate.html', form=myform, foo='bar')
Run Code Online (Sandbox Code Playgroud)

我得到

the_content_of_form <br>
bar <br>
Run Code Online (Sandbox Code Playgroud)

而如果我以这种方式调用模板:

return render_template('mytemplate.html', lorem=ipsum, fooooo='barrrrr')
Run Code Online (Sandbox Code Playgroud)

我得到

the_content_of_lorem <br>
barrrrr <br>
Run Code Online (Sandbox Code Playgroud)

cod*_*eek 0

看一下jinja2.runtime.Context

\n\n

“模板上下文保存模板的变量。它存储传递给模板的值以及模板导出的名称”

\n\n

“模板上下文支持只读字典操作(get、keys、values、items、iterkeys、itervalues、iteritems、getitemcontains)。此外,还有一个resolve()方法,它不会\xe2\x80\x99失败并出现KeyError,但对于缺少的变量返回一个未定义的对象。”

\n