[Python] Flaskで静的ファイルのディレクトリを追加する
こんにちは、@yoheiMuneです。
今日はFlaskアプリケーションの実装Tipsで、静的ファイル用フォルダを増やす方法をブログに書きたいと思います。
FlaskでWebアプリケーションを以下のように実装した場合、
Webで調べた感じだといろいろとやり方がありますが、
具体的には、静的ファイル用のBlueprintを以下のように定義します。
python - More than one static path in local Flask instance - Stack Overflow
最後になりますが本ブログでは、Python・フロントエンド・開発関連・Swift・Linux・Java・機械学習など雑多に情報発信をしていきます。自分の第2の脳にすべく、情報をブログに貯めています。気になった方は、本ブログのRSSやTwitterをフォローして頂けると幸いです ^ ^。
最後までご覧頂きましてありがとうございました!
今日はFlaskアプリケーションの実装Tipsで、静的ファイル用フォルダを増やす方法をブログに書きたいと思います。
Flaskで静的ファイルのフォルダを増やす
(※Flaskの入門は「軽量WebフレームワークのFlaskに入門(準備、起動、HTML、静的ファイル、GET、POSTなど)」をご参照ください。)
FlaskでWebアプリケーションを以下のように実装した場合、
from flask import Flask app = Flask(__name__) if __name__ == "__main__": app.run()デフォルトで
/static
というパス以下は、static
ディレクトリ以下に置いた静的コンテンツを自動的に返却してくれます。そして作成するアプリケーションによっては、/static
以外にも静的ファイル用のパスを作りたいということがあり、今日はそれを実現する方法です。Webで調べた感じだといろいろとやり方がありますが、
Blueprint
(詳細はFlaskアプリケーションでBlueprintを用いてコントローラーを分割するを参照)を用いて実装するのが良さそうでした。具体的には、静的ファイル用のBlueprintを以下のように定義します。
# dist.py # /distを静的フォルダとして定義する from flask import Blueprint app = Blueprint("dist", __name__, static_url_path='/dist', static_folder='./dist' )そして上記のBlueprintをメインの処理で読み込みます。
from flask import Flask app = Flask(__name__) # Blueprintを読み込む import dist app.register_blueprint(dist.app) if __name__ == "__main__": app.run(debug=True)これでサーバー起動すれば、
/dist
も静的ファイル用のディレクトリとなります。Blueprintはコントローラーを分割するのがメインの使い方ですが、こんな使い方もいいなーと思い今日こちらで紹介いたしました(実際に案件でも使いました)。参考資料
今回の実装をするのに以下を参照しました。ありがとうございます。python - More than one static path in local Flask instance - Stack Overflow
最後に
今日はFlaskのTipsでした。Flaskは非常に便利に使えますが、本気で開発に使うならこのようなTipsをいくつか知っている必要があるので、ちょっとずつ覚えていきたいところです(ブログにも書いていきたいと思います)。最後になりますが本ブログでは、Python・フロントエンド・開発関連・Swift・Linux・Java・機械学習など雑多に情報発信をしていきます。自分の第2の脳にすべく、情報をブログに貯めています。気になった方は、本ブログのRSSやTwitterをフォローして頂けると幸いです ^ ^。
最後までご覧頂きましてありがとうございました!