いまさらFlask超入門

はじめに

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_ENVdevelopmentを設定します。

❯ export FLASK_ENV=development

❯ flask run

参考

タイトルとURLをコピーしました