はじめに
Flaskについて、これから使い始める人向けに超簡単なアプリを作成して、実行してみるまでを紹介したいと思います。
利用するバージョンは以下の通りです。
>>> flask.__version__
'2.0.1'
Flaskとは
Flaskとは、Python製の軽量なWebアプリケーションフレームワークです。
軽量でシンプルなため素早くWebサービスを開発したい場合におすすめです。シンプルですが、必要最低限の機能は備えています。
WSGIに対応したWebサーバと組み合わせて利用できます。
インストール
まずはインストールしておきます。
pip install flask
アプリケーションの作成
下記が超簡単なアプリケーションになります。hello.py
という名前で作成します。
from flask import Flask
# Flaskのインスタンス作成
app = Flask(__name__)
# ルーティングの指定
@app.route("/")
def index():
return "index page" # HTMLを返す
# ルーティングの指定
@app.route("/hello")
def hello():
return "<h1>hello, world</h1>" # HTMLを返す
Flask
でインスタンスを作成し、引数でアプリケーションパッケージの名前を指定します。__name__
で大体の場合はうまくいくようです。
route
でどのURLでその関数が実行されるかを指定します。関数が返す値はHTML形式でブラウザで表示されます。
実行
アプリケーションの実行はflask
コマンドを利用します。実行する前にFLASK_APP
という環境変数を設定する必要があります。
❯ export FLASK_APP=hello
❯ flask run
* Serving Flask app 'hello' (lazy loading)
* Environment: production
WARNING: This is a development server. Do not use it in a production deployment.
Use a production WSGI server instead.
* Debug mode: off
* Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
実行してから http://127.0.0.1:5000/ にアクセスするとアプリケーションを確認できます。今回作成したアプリケーションでは、 http://127.0.0.1:5000/ と http://127.0.0.1:5000/hello にアクセスできるようになっています。
ファイル名がapp.py
もしくはwsgi.py
の場合はFLASK_APP
の設定なしでも実行できるようになっています。
ローカルホスト以外からのアクセス
デフォルトではローカルホスト以外からアクセスができないようになっています。アクセスできるようにするには実行時にオプション--host=0.0.0.0
をつけます。
❯ flask run --host=0.0.0.0
デバッグモード
デバッグモードにすることで、コードを書き換えたときに自動でリロードするようになります。デバッグモードをオンにするにはFLASK_ENV
でdevelopment
を設定します。
❯ export FLASK_ENV=development
❯ flask run