【问题标题】:Jinja Template contert string into dictionaryJinja 模板将字符串转换为字典
【发布时间】:2022-11-28 04:48:50
【问题描述】:

我有一个存储在变量中的字符串值,我需要将它转换为 Jinja2 模板中的字典。

我能够使用以下方法将字符串转换为列表:

{% set list1 = my_string.split(',') %}

【问题讨论】:

    标签: jinja2


    【解决方案1】:

    您可以借助将注册到您的应用程序的基本 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
    

    【讨论】:

      猜你喜欢
      • 2015-05-24
      • 1970-01-01
      • 2020-10-14
      相关资源
      最近更新 更多