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