概要
flaskモジュールを使用して簡易的なサーバーをローカルに作成したので、その方法についてまとめる。
flaskとは、PythonのWEBアプリケーションフレームワークの一つ。
flaskの使用方法
ライブラリのインストール
flaskはimportするだけだと使用できない。
以下のようにライブラリをインストールする必要がある。(※jupyter labでは以下をセルに記述して、【Shift + Enter】で実行可能)
jupyter labターミナル
pip install flask
全体像
main01.py
import json
from flask import Flask
app = Flask(__name__)
@app.route("/")
def index():
""" ブラウザに「Hello World」と表示 """
return "Hello World"
@app.route("/json")
def hello_world():
""" jsonを返却するサンプル """
res_dict = {
"id": 1,
"data": [
{
"user_id": 1,
"name": "yamada",
"age": "26"
}
]
}
return json.dumps(res_dict)
if __name__ == '__main__':
app.run(port=8080, debug=True)
解説
前提としてflaskを実行するためにはPythonファイル(拡張子:.py)を作成する。
jupyter lab上で実行してしまうと、サーバーを停止する方法(後述)がシンプルではないため。
準備
main01.py
from flask import Flask
app = Flask(__name__)
上記はflaskフレームワークを使用する際の慣習と思っていい。
flaskをインポートして、Flaskオブジェクトを生成している。
ルーティング
以下の形式でルーティングを定義する。
main01.py
@app.route("/")
def index():
""" ブラウザに「Hello World」と表示 """
return "Hello World"
@app.route("/data")
def get_data():
""" jsonを返却するサンプル """
res_dict = {
"id": 1,
"data": [
{
"user_id": 1,
"name": "yamada",
"age": "26"
}
]
}
return json.dumps(res_dict)
基本的にはローカルの端末のドメイン名はlocalhostなので、「http://localhost:ポート番号/」という意味になる。
WEB APIなどのモックとして使用できそう。
概要 jsonモジュールを使用してデータ変換やファイル読み書きを行う方法についてまとめた。前提としてファイルオブジェクトの操作が必要になる。
app.run(port=8080, debug=True)
上記を記述することで、Pythonファイルを実行した際にサーバーが起動する。
ポートは「8080」でデバッグモードにて起動するという意味。
サーバーの起動
作成したPythonファイルのパスまでコマンドプロンプトを起動して、Pythonファイルを実行するコマンドをたたく。
jupyter labターミナル
python main01.py(※main01.pyの箇所は、自身が作成したファイル名)
ブラウザからリクエスト
【URL:/】にアクセス
ブラウザのURLに「http://localhost:8080/」と入力して実行すると、ブラウザに「Hello World」と表示される。
【URL:/data】にアクセス
ブラウザのURLに「http://localhost:8080/data」と入力して実行すると、ブラウザにJSON文字列が表示される。
サーバーの停止
コマンドプロンプトにて、【CTRL+C】を押すとサーバーは停止する。
※以下のようにサーバー起動時に「Press CTRL+C to quit」と停止方法について説明がある