我正在使用 Flask 作为 Web 框架,并且我正在尝试实现Mike Dewar的 D3 入门一书中的第一个示例。我有一个名为的 Python 脚本run.py
和两个目录templates/
,分别static/
包含index.html
和service_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。