2017-08-09 1 views
0

フラスコで反応アプリを提供したいが、 "static_folder"が機能していないようです。私はhttp://localhost:5000に到達することができますFlask:静的フォルダ内のファイルにアクセスできません(404)

from flask import Flask 
from flask_restful import Resource, Api 

app = Flask(__name__, static_folder="react_app/build") 
api = Api(app) 

class HelloWorld(Resource): 
    def get(self): 
     return app.send_static_file("index.html") 

api.add_resource(HelloWorld, '/') 

if __name__ == '__main__': 
    app.run(debug=True) 

ブラウザで、それは私に正しいのindex.htmlを返します。これは私の非常に最小限のコードです。しかし、cssやjsファイルのようなすべての静的ファイルは404エラーを返します。たとえば、ファイル:react_app/build/bundle.cssまたはreact_app/build/js/some_name.jsがあります。しかし、http://localhost:5000/bundle.cssまたはhttp://localhost:5000/js/some_name.jsと入力すると、404エラーが見つかりません。

static_folderを指定すると、ルートURLからそのフォルダのすべてのファイルにアクセスする必要があります。私は何が不足しているか/理解不足ですか?

答えて

1

いいえ、それはthe documentationが言うことではありません。

  • がstatic_url_path - ウェブ上の静的ファイルに別のパスを指定するために使用することができます。デフォルトはstatic_folderフォルダーの名前になります。
  • static_folder - static_url_pathで提供される静的ファイルを含むフォルダ。デフォルトでは、アプリケーションのルートパスの「静的」フォルダになります。

したがって、ファイルはlocalhost:5000/react_app/buildで提供されます。それはおそらくあなたが望むものではないので、static_url_pathも ​​"static"のような値を渡して、localhost:5000/staticでファイルを見つけることができます。

関連する問題