Python 在html文件中使用的变量上调用jsonify会导致错误的结果
有没有办法将“jsonify”存储在变量中?我不喜欢执行“returnjsonify(data)”的纯json格式,但我喜欢缩进,所以我尝试使用呈现的HTML模板来对其进行修饰。以下是我的python代码:Python 在html文件中使用的变量上调用jsonify会导致错误的结果,python,html,json,flask,Python,Html,Json,Flask,有没有办法将“jsonify”存储在变量中?我不喜欢执行“returnjsonify(data)”的纯json格式,但我喜欢缩进,所以我尝试使用呈现的HTML模板来对其进行修饰。以下是我的python代码: from flask import Flask, jsonify, render_template app = Flask(__name__) @app.route("/") def return_json(): data = {"One": 1, "Two": 2, "Three
from flask import Flask, jsonify, render_template
app = Flask(__name__)
@app.route("/")
def return_json():
data = {"One": 1, "Two": 2, "Three": 3, "Letters": ['a', 'b', 'c']}
html_item = jsonify(data)
return render_template("file.html", html_item=html_item)
if __name__ == "__main__":
app.run()
这是我的(目前非常基本的)HTML文件(file.HTML):
{{html_item}}
这是我在浏览器上得到的输出
如果没有在变量中存储jsonify的方法,有人知道我如何在浏览器上以漂亮的方式显示“数据”吗?我只知道(1)jsonify和(2)“返回数据”,它与没有缩进的jsonify相同。jsonify()
生成一个包含JSON数据的响应对象。从:
此函数包装dumps()
,以添加一些增强功能,使生活更轻松它使用application/JSON
mimetype将JSON输出转换为Response
对象。
我的。当您的路由应该生成JSON作为最终结果时,这非常有用,而当您希望在模板中使用JSON数据时,这并不十分有用
您可以直接使用:
from flask import json
@app.route("/")
def return_json():
data = {"One": 1, "Two": 2, "Three": 3, "Letters": [a, b, c]}
html_item = json.dumps(data, indent=2, separators=(', ', ': '))
return render_template("file.html", html_item=html_item)
缩进
和分隔符
参数是flask.json.jsonify()
在启用jsonify\u PRETTYPRINT\u REGULAR
时使用的参数,而这不是AJAX请求
或者,使用以下命令将数据转换为模板中的JSON:
{{data | tojson | safe}}
这假设数据
被传递到模板中,而不是html\u项
JSON字符串。还要注意那里使用的safe
过滤器;这可以确保您获得可以使用JavaScript代码加载的未转义JSON数据,而不是HTML转义版本
您可以将相同的配置传递给该筛选器:
{data | tojson(indent=2,分隔符=(',',':'))| safe}
如果我把标签放在里面,对我来说很有效。谢谢!
<Response 92 bytes [200 OK]>
from flask import json
@app.route("/")
def return_json():
data = {"One": 1, "Two": 2, "Three": 3, "Letters": [a, b, c]}
html_item = json.dumps(data, indent=2, separators=(', ', ': '))
return render_template("file.html", html_item=html_item)