gpt4 book ai didi

python - 难以使用 d3 和 flask 访问 json 文件

转载 作者:太空狗 更新时间:2023-10-29 22:23:01 24 4
gpt4 key购买 nike

我正在使用 Flask 作为 Web 框架,并且我正在尝试实现 Mike Dewar 着的D3 入门 一书中的第一个示例。我有一个名为 run.py 的 Python 脚本和两个目录,templates/static/,其中包含 index.htmlservice_status.json , 分别。不幸的是,我的代码根本没有呈现数据,也没有产生任何明显的错误。

这是我在 run.py 中的内容:

#!/usr/bin/env python

from flask import Flask, render_template, url_for
app = Flask(__name__)

@app.route('/')
def index():
return render_template('index.html')

if __name__=="__main__":
port = 5000
app.debug = True
app.run( port=port )

这是我在 templates/index.html 中的内容:

<!DOCTYPE HTML>
<HTML>

<HEAD>
<META CHARSET="utf-8">
<SCRIPT SRC="http://d3js.org/d3.v3.min.js"></SCRIPT>
<SCRIPT>
function draw(data) {
"use strict";
d3.select("body")
.append("ul")
.selectAll("li")
.data(data)
.enter()
.append("li")
.text( function(d){
return d.name + ": " + d.status;
}
);
}
</SCRIPT>
<TITLE>MTA Data</TITLE>
</HEAD>

<BODY>
<H1>MTA Availability Data</H1>
<SCRIPT>
d3.json("{{ url_for( 'static', filename='service_status.json') }}",draw); // <---- BIG PROBLEM
</SCRIPT>
</BODY>

</HTML>

我正在使用 Windows 7、Google Chrome 和 Python 2.7。

最佳答案

如果JSON文件不会改变,那么你应该把它放在static目录下使用

from flask import url_for
url_for('static', filename='service_status.json')

为此,还要将 JavaScript 中的路径更改为 '/static/service_status.json'

关于python - 难以使用 d3 和 flask 访问 json 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15481754/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com