2016-11-14 7 views
-1

私はフラスコサーバーからサーバーへのいくつかのJavascriptとHTMLページをしようとしているパス(AP)

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ファイルはテンプレートファイルにあります。私は私が間違って何をやっているエラーに

"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 

を得続ける<script type="text/javascript" src="../static/js/script.js"></script>

を持ってJSファイルをロードするために

+1

のpythonの中から構築することができます。 JSを提供するはずのPythonはどこですか? – Quentin

+0

httpは通常、ポート80ではなく5000で実行されます。ほとんどの場合、8080に変更されました。5000で実行するよう明示的に設定しましたか? –

+0

いいえ、それはちょうど5000で走った –

答えて

0

テンプレートが存在するディスク上の物理パスではなく、ブラウザによってロードされたURLに相対的なパスを記述する必要があります。

ブラウザーは、提供するHTMLがtemplatesディレクトリーのファイルに書き込まれているとは考えていません。 URLの後ろにHTMLソースが表示されます。

通常、絶対パスは常に使用することをお勧めします。特に、複数のルートのビューでテンプレートを配信できる場合は、ドットなし

+0

あなたが言っていることを理解しています、それをどうするかわかりません...あなたは私に例を挙げることができますか? –

0

試し:<script type="text/javascript" src="//static/js/script.js"></script>

http://webpy.org/cookbook/staticfiles

または適切なパスをあなたは[MCVE]を提供する必要が url_for('static', filename='js/script.js')

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

+0

残念ながら、あなたのウェブサイトのホームページにアクセスしたときに、どちらもうまく動作しませんでした –

+0

、そのURLは何ですか? 'http:// localhost:5000 /'? – arhak

+0

はい、ホームページ –

関連する問題