knaka Tech-Blog

AI, IoT, DIYエレクトロニクス, データサイエンスについて投稿予定です。

flask + mysql DBアプリの実装

index:

概要

python 軽量web フレームワークのflask
と、mysql DB連携を試してみました。

環境

python 3.5
flask

準備

mysql関係で、O/Rマッピング等の
ライブラリを追加

pip install sqlalchemy
pip install flask-sqlalchemy PyMySQL

ファイル構成

上記のチュートリアルと、ほぼ同じですが。
下記となります、dbモデルは、 models の下に配置した場合です。

#└─flaskr
    ├─models
    │  └─__pycache__
    ├─static
    └─templates

github

https://github.com/kuc-arc-f/flask_sample2

サンプルの、プロジェクトです
先に、mysqlのDB作成。必用なテーブル作成が
必用です。

設定

DB接続
・ config.py
musqlの、DB名、ユーザー、パスワード、ホストの設定
接続ユーザーは、事前に追加しておきます。

SQLALCHEMY_DATABASE_URI = 'mysql+pymysql://db_user:password@localhost/flask_db?charset=utf8'
SECRET_KEY = 'secret key'

・__init__.py
config.py の読み込み等

# coding: utf-8

from flask import Flask
from flask_sqlalchemy import SQLAlchemy

app = Flask(__name__)
app.config.from_object('flaskr.config')

db = SQLAlchemy(app)

import flaskr.views

・manage.py
起動する、ファイル。デバックモードの場合。( port=5000 )

from flaskr import app
app.run(host='127.0.0.1', port=5000, debug=True)

デモ、チュートリアルのアプリ

必用なテーブル作成等を行い、アプリを起動します。

f:id:knaka0209:20190125141329p:plain

=>必用な値を入力し、[share] ボタンを押すと、
DBに登録され、下段リスト表示できました。