0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Flaskのスケルトン作成

Last updated at Posted at 2022-10-16

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! です。

hello.py
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 へのアクセスによって確認できます。

スクリーンショット 0004-10-16 12.11.19.png

RESTfulAPI的な作りにするには

メソッドの切り分けは @app.route の第二引数で指定する。
queryの読み込みは request オブジェクト?から取り出せる。
JSON出力は return (json.dumps(...)) で大丈夫。

app.py
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を実装したいと考えてます。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?