将HTML路径转换为静态文件

时间:2016-11-14 21:33:53

标签: javascript python html flask

我正在尝试使用Flask Server中的一些Javascript来服务HTML页面

Python代码:

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

@app.route("/")
def hello():
    return render_template('simple.html')

if __name__ == "__main__":
    app.run()

我的目录看起来像这样:

enter image description here

我正在渲染的HTML文件位于模板文件中。

要加载JS文件,我有<script type="text/javascript" src="../static/js/script.js"></script>

我一直收到错误

"browser.min.js:3 GET http://localhost:5000/script.js 404 (NOT FOUND)n.load @ browser.min.js:3s @ browser.min.js:3i @ browser.min.js:3
browser.min.js:3 Uncaught Error: Could not load http://localhost:5000/script.js(…)s.onreadystatechange @ browser.min.js:3

我做错了什么?

2 个答案:

答案 0 :(得分:0)

您需要编写相对于浏览器加载的URL的路径,而不是模板所在的磁盘上的物理路径。

浏览器不知道它所服务的HTML是写在templates目录中的文件中;它只是看到URL背后的HTML源代码。

通常最好始终使用绝对路径,尤其是如果您的模板可以通过多个路径的视图提供服务。

答案 1 :(得分:0)

尝试没有点:<script type="text/javascript" src="//static/js/script.js"></script>

http://webpy.org/cookbook/staticfiles

或者从python中构建正确的路径 url_for('static', filename='js/script.js')

http://flask.pocoo.org/docs/0.11/quickstart/#static-files