我使用 Python Flask、HTML 和本地 JSON 文件以 HTML 格式显示来自本地 JSON 文件的 JSON 数据。烧瓶读取本地 JSON 文件后,将使用 jsonify将其发送到index.html。之后,使用该数据我想显示信息。
我可以在 Flask 端获取 JSON 数据,但在 HTML 中显示它时遇到了困难。你能告诉我我错过了什么吗?
烧瓶代码
import os
from flask import Flask, render_template, abort, url_for, json, jsonify
import json
import html
app = Flask(__name__)
# read file
with open('./data/file.json', 'r') as myfile:
data = myfile.read()
@app.route("/")
def index():
return render_template('index.html', title="page", jsonfile=jsonify(data))
app.run(host='localhost', debug=True)
Run Code Online (Sandbox Code Playgroud)
索引.html
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1" />
<meta charset="UTF-8" />
<title>House</title>
<link
rel="stylesheet"
href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css"
integrity="sha384-1q8mTJOASx8j1Au+a5WDVnPi2lkFfwwEAa8hDDdjZlpLegxhjVME1fgjWPGmkzs7"
crossorigin="anonymous"
/>
<script>
var jsonfile ={{jsonfile}};
</script>
</head>
<body>
<div class="container">
{{jsonfile}}
</div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
您的问题是该jsonify方法的使用。如果你阅读它的文档,jsonify它会返回一个 Response 对象而不是一个字符串。所以你会得到这样的东西jsonify(data)
<Response 2347 bytes [200 OK]>
您可以删除jsonify并使用json.dumps,如下所示:
@app.route("/")
def index():
return render_template('index.html', title="page", jsonfile=json.dumps(data))
Run Code Online (Sandbox Code Playgroud)
这对我有用。
| 归档时间: |
|
| 查看次数: |
6205 次 |
| 最近记录: |