【发布时间】:2022-11-28 04:48:50
【问题描述】:
我有一个存储在变量中的字符串值,我需要将它转换为 Jinja2 模板中的字典。
我能够使用以下方法将字符串转换为列表:
{% set list1 = my_string.split(',') %}
【问题讨论】:
标签: jinja2
我有一个存储在变量中的字符串值,我需要将它转换为 Jinja2 模板中的字典。
我能够使用以下方法将字符串转换为列表:
{% set list1 = my_string.split(',') %}
【问题讨论】:
标签: jinja2
您可以借助将注册到您的应用程序的基本 Jinja 过滤器来完成此操作:
带有 to_dict 过滤器和示例路径的烧瓶应用程序:
import json
from flask import Flask, render_template, redirect, url_for, request, g
app = Flask(__name__,
static_url_path='',
static_folder='static')
@app.template_filter('to_dict')
def to_dict(my_string):
return json.loads(my_string)
@app.route('/')
def home():
return render_template("app_jinja.j2", my_dict_string='{"a": 1, "b": 3}')
if __name__ == "__main__":
app.run(debug=True, port=8000, host="0.0.0.0")
神社模板app_jinja.j2:
<pre>
{% set my_dict = my_dict_string | to_dict %}
{{ my_dict }}
{% for key,value in my_dict.items() %}
{{ key}} - {{ value }}
{% endfor %}
将打印:
{'a': 1, 'b': 3}
a - 1
b - 3
【讨论】: