python字典参数到带有烧瓶模板的JS字典[重复]

Posted

技术标签:

【中文标题】python字典参数到带有烧瓶模板的JS字典[重复]【英文标题】:python dictionary parameter to JS dictionary with flask templates [duplicate] 【发布时间】:2019-10-09 08:56:29 【问题描述】:

我在带有 python3.6 的烧瓶服务器中有一个字典,并希望使用烧瓶模板框架将 dict_test 字典移动为 javascript 字典。哪条路?

flask-server.py

@app.route("/app", methods=['GET'])
def home():
    dict_test = "key1":10, "k2":'hello'
    return render_template("index.html", text_lists=dict_test)


logging.info("Listener started")

if __name__ == "__main__":
    app.run(host='0.0.0.0', port=5000)

index.html

    <body>
      <script>
          var tp_data = text_lists;
      </script>
             ....
    </body>

【问题讨论】:

【参考方案1】:

您可以使用simplejson 将您的字典转换为json:

return render_template("index.html", text_lists=simplejson.dumps(dict_test))

在您的 index.html 中,您可以像以前一样访问 text_lists

var tp_data = text_lists | safe;

当您添加 |safe 时,您表示您已经对文本进行了转义,直接渲染它是安全的。

【讨论】:

我想要一个 Javascript 的字典,simplejson.dumps() 返回一个字符串,对吧? .py 端将其转换为有效的 JSON 对象。我正在使用dumpsignore_nan=True 等一些参数来确保js-object 对我的需要有效。【参考方案2】:

这种方法对我有用:

flask-server.py

return render_template("index.html", text_lists=dict_test)

index.html

var tp_data = text_lists | tojson ;

【讨论】:

以上是关于python字典参数到带有烧瓶模板的JS字典[重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何在烧瓶中重新加载python模块?

使用 Django 模板(列表和字典)将 Python 数据结构转换为 js 数据结构

使用 argparse 和 python 接受字典作为参数 [重复]

减少python中字典上带有关键字参数的函数列表

将参数从Javascript传递到烧瓶python脚本[重复]

字典到关键字参数解包[重复]