2016-11-14 110 views
-1

我想服務器與一些JavaScript的HTML頁從瓶服務器徑處理的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 

我在做什麼錯?

+1

建立你需要提供一個[MCVE。應該爲JS提供服務的Python在哪裏? – Quentin

+0

http通常運行在端口80上,而不是5000.大多數情況下,它被更改爲8080.您是否明確地將其設置爲在5000上運行? –

+0

nope,它只是跑在5000 –

回答

0

您需要編寫相對於瀏覽器加載的URL的路徑,而不是模板所在磁盤上的物理路徑。

瀏覽器不知道它提供的HTML是寫在templates目錄中的文件中;它只是在URL後面看到HTML源代碼。

通常最好總是使用絕對路徑,尤其是如果您的模板可以通過多個路徑的視圖服務。

+0

我明白你在說什麼,只是不知道該怎麼做......你能舉個例子嗎? –