私はPythonバックエンドAPIと同じ起源で提供したいリアクションフロントエンドを持っています。私はこのためにFlaskを使用しようとしていますが、私はFlaskが静的なファイルを見つけられないという問題にぶち当たっています。フラスコはmain.py
から実行しているとsaas_frontend/build
に私のフロントエンドを提供しているFlaskからNPMビルドを実行しています
├── main.py
├── requirements.txt
├── run.sh
├── saas_backend
├── saas_frontend
:
私のフロントエンドビルドはここでsaas_frontend
にnpm run build
で生成されては、次のように私のファイル構造が見えるものです
├── asset-manifest.json
├── favicon.ico
├── index.html
├── manifest.json
├── service-worker.js
└── static
├── css
│ ├── main.096c9e23.css
│ └── main.096c9e23.css.map
├── js
│ ├── main.8949f17a.js
│ └── main.8949f17a.js.map
└── media
├── delta.56f5d855.csv
└── logo.e233ff84.png
新しいテンプレートパスと静的パスをに宣言しましたとしては、以下:
7 import os
8 from flask import Flask, render_template
9
10 template_dir = os.path.abspath('saas_frontend/build/')
11 static_dir = os.path.abspath('saas_frontend/build/static')
12 app = Flask(__name__, static_path=static_dir, template_folder=template_dir)
13
14
15 @app.route('/')
16 def index():
17 print template_dir
18 print static_dir
19 return render_template('index.html')
しかし、フラスコはまだ私の静的なファイルを提供することができないと私は出力としてこれを取得し....
127.0.0.1 - - [21/Jul/2017 12:13:14] "GET/HTTP/1.1" 200 -
127.0.0.1 - - [21/Jul/2017 12:13:14] "GET /static/css/main.096c9e23.css HTTP/1.1" 404 -
127.0.0.1 - - [21/Jul/2017 12:13:14] "GET /static/js/main.8949f17a.js HTTP/1.1" 404 -
127.0.0.1 - - [21/Jul/2017 12:13:14] "GET /static/css/main.096c9e23.css HTTP/1.1" 404 -
127.0.0.1 - - [21/Jul/2017 12:13:14] "GET /static/js/main.8949f17a.js HTTP/1.1" 404 -
私が異なっやるべきことは何がありますか?どのようにしてFlaskはエラーメッセージのパスで正しいファイルを解決できますか?それをブラウザに完全に渡すことはできません。
ありがとうございます!
@ A.Haaji残念ながら、同じエラーです。 – Cole