[Flask] 静的ファイルをプロジェクトディレクトリより上の階層に配置する方法

Python
スポンサーリンク
こんにちは。 雑食会社員🐼くま子です
スポンサーリンク

問題

Flaskではstatic_folderで静的ファイルを格納したフォルダを指定するが、
プロジェクトディレクトリの階層より上に静的ファイルのフォルダを置いた場合に相対パスでは指定できないらしい🤔

構成
./
 ├ static/
 └ flaskroot/
   └ flask.py
NG

flask.py

api = Flask(__name__, '../static')

解決策

絶対パスで指定してあげる

flask.py

os.chdir('../')
api = Flask(__name__, static_folder= os.getcwd() + '/static')

(絶対パスさえ取れれば、別にわざわざカレントディレクトリを移動する必要はないと思う)

コメント