python(python3)にはWebApplicationを作るフレームワークがあり、代表的なものは以下の2つです。
- Flask
- Django
どちらも、開発用のHTTPサーバ機能が備わっているので、開発のために整える環境がコンパクトなことが大きな特徴です。
これからFlaskを使って、小さなWebアプリケーションを試作してみます。
Flaskを使うには以下の環境が必要です。
- エディタ
- Python3の動くターミナル
- Python3/pipインストーラ
- Flask(pip install flask)
私は以下のLinux環境を使っています。特段の準備は無くてもOSと同梱のツールで始められます。Windowsの場合も、Python3をインストールし、Visual Studio CodeとそのPyhon拡張モジュールをインストールすれば、flaskでの開発ができます。もちろんWSL(Windows Subsystem for Linux)でも動かすことができます。
- Python3 = Linux/Ubuntu 20.04 LTS同梱
- エディタ = Linux/nano = Linux/Ubuntu 20.04 LTS同梱
- Python3の動くターミナル = Linux/bash = Linux/Ubuntu 20.04 LTS同梱
- Python3/pipインストーラ = ( $ sudo apt install python3-pip )
- Flask($ pip install flask)
■まずはHello, World!
Flaskはプロトタイプ用です。起動の際に以下のメッセージがでます。
$ flask run
* 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)
127.0.0.1 - - [31/May/2021 07:18:56] "GET / HTTP/1.1" 200 -
127.0.0.1 - - [31/May/2021 07:18:56] "GET /favicon.ico HTTP/1.1" 404 -
* 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)
127.0.0.1 - - [31/May/2021 07:18:56] "GET / HTTP/1.1" 200 -
127.0.0.1 - - [31/May/2021 07:18:56] "GET /favicon.ico HTTP/1.1" 404 -
ただ、最初のページの表示までが、とても簡単です。以下のコードで"Hello, World"できます。
# save this code as app.py
from flask import Flask
app = Flask(__name__)
@app.route("/")
def hello():
return "Hello, World!"
from flask import Flask
app = Flask(__name__)
@app.route("/")
def hello():
return "Hello, World!"
実行も驚くほど簡単。
$ flask run
* Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
* Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
いつもアクセスありがとうございます。Pythonを使ったWebAPI開発のポイントを共有します。