いまさらFlask超入門

2021.08.12
2024.03.24
Web
flaskPython

はじめに

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という環境変数を設定する必要があります。

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

1export FLASK_ENV=development
2
3❯ flask run

参考

Support

\ この記事が役に立ったと思ったら、サポートお願いします! /

buy me a coffee
Share

Profile

author

Masa

都内のIT企業で働くエンジニア
自分が学んだことをブログでわかりやすく発信していきながらスキルアップを目指していきます!

buy me a coffee