Flask APPの生成
自然言語処理が必要になったので
やっぱPythonかなぁ
というわけで今更ながら
Python + Flask の勉強を開始しました。
まぁ自分用の備忘録的なものです。
準備
python3 pip3 はインストールされているという前提で始めます。
SampleAPPの作成
ディレクトリを生成し作成したディレクトリ内に仮想環境を導入します。
% mkdir sampleApp
% python3 -m venv sampleApp
ディレクトリに入り仮想環境を有効化します。
仮想環境が有効化されるとプロンプトが (ディレクトリ名)となります。
cd sampleApp
source bin/activate
(sampleApp)
仮想環境にFlaskを導入します。
(sampleApp) pip3 install Flask
hello.pyを作成します。
みんな大好きHello World!
です。
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello_world():
return 'Hello World!'
アプリのエントリポイントを
環境変数 FLASK_APP
に設定します。
(sampleApp) export FLASK_APP=hello.py
そしてFlaskを実行します。
(sampleApp) flask run
* Serving Flask app 'hello.py'
* Debug mode: off
WARNING: This is a development server. Do not use it in a production deployment.
Use a production WSGI server instead.
* Running on http://127.0.0.1:5000
Press CTRL+C to quit
正しく動作すると Webブラウザからlocalhost:5000
へのアクセスによって確認できます。
RESTfulAPI的な作りにするには
メソッドの切り分けは @app.route
の第二引数で指定する。
queryの読み込みは request
オブジェクト?から取り出せる。
JSON出力は return (json.dumps(...))
で大丈夫。
import json
from flask import Flask, request
app = Flask(__name__)
@app.route('/api', methods=['GET'])
def api_get():
query = request.args
return json.dumps({'querys:':query})
@app.route('/api', methods=['POST'])
def api_post():
query = request.form
return json.dumps({'querys:':query})
感想
とりあえず最低限の Flask でのWebアプリの構築方法をまとめてみた。
なんとかなりそうな手応えです。
今後の予定としては mecab等の自然言語処理ライブラリの利用し
WebAPIを実装したいと考えてます。