我正在尝试使用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()
我的目录看起来像这样:
我正在渲染的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
我做错了什么?
答案 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')