在Flask Jinja中打印层次结构Python字典,可以使用Jinja模板引擎的控制结构和过滤器来实现。
首先,确保已经安装了Flask和Jinja模板引擎。然后,创建一个Flask应用并设置模板文件夹路径:
from flask import Flask, render_template
app = Flask(__name__)
app.template_folder = 'templates' # 设置模板文件夹路径
接下来,在模板文件中创建一个Jinja模板,例如template.html
:
<!DOCTYPE html>
<html>
<head>
<title>打印层次结构Python字典</title>
</head>
<body>
<h1>打印层次结构Python字典</h1>
<ul>
{% for key, value in dictionary.items() %}
<li>{{ key }}:
{% if value is mapping %}
<ul>
{% for k, v in value.items() %}
<li>{{ k }}: {{ v }}</li>
{% endfor %}
</ul>
{% else %}
{{ value }}
{% endif %}
</li>
{% endfor %}
</ul>
</body>
</html>
在模板中,我们使用了Jinja的控制结构和过滤器来遍历字典的键值对。如果值是一个字典,我们递归地创建一个嵌套的无序列表来展示层次结构。如果值不是字典,直接打印值。
最后,在Flask应用中创建一个路由来渲染模板并传递字典数据:
@app.route('/')
def print_dictionary():
dictionary = {
'key1': 'value1',
'key2': {
'subkey1': 'subvalue1',
'subkey2': 'subvalue2'
},
'key3': 'value3'
}
return render_template('template.html', dictionary=dictionary)
在上面的例子中,我们创建了一个包含层次结构的Python字典,并将其传递给模板进行渲染。
这样,当访问Flask应用的根路径时,将会显示一个打印了层次结构Python字典的网页。
请注意,以上示例中的template.html
文件应该放置在Flask应用的模板文件夹中,可以根据实际情况进行调整。
推荐的腾讯云相关产品:腾讯云服务器(CVM)和腾讯云云函数(SCF)。
领取专属 10元无门槛券
手把手带您无忧上云