PythonのWebフレームワークであるFlaskと、軽量なデータベースシステムであるSQLiteを組み合わせて、Webアプリケーションを開発する方法について解説します。

FlaskとSQLiteの接続

Flaskはデータベースの機能が備わっていないため、外部モジュールであるSQLiteと連携する方法を用います。

データベースのインストール・設定

まずはSQLiteをインストールします。Macの方はデフォルトでインストールされていますが、Windowsの方は別途インストールが必要です。

SQLAlchemyのインストール

次に、PythonのORM(Object Relational Mapper)であるSQLAlchemyをインストールします。以下のコマンドを実行します。

# mac
$ pip3 install Flask-SQLAlchemy

# windows
$ pip install Flask-SQLAlchemy

初期設定

FlaskとSQLiteを接続するための初期設定を行います。以下のように設定します。

from flask import Flask
from flask_sqlalchemy import SQLAlchemy

app = Flask(__name__)
app.config["SECRET_KEY"] = b'_5#y2L"F4Q8z\n\xec]dasfe/'
app.config["SQLALCHEMY_DATABASE_URI"] = 'sqlite:///flask_blog.db'
app.config["SQLALCHEMY_TRACK_MODIFICATIONS"] = True

db = SQLAlchemy(app)

import src.views

データベースとの連携

FlaskとSQLiteが接続できたら、次にデータベースとの連携を行います。具体的には、データベースにテーブルを作成し、データの追加や削除などの操作を行います。

モデルの定義

まずは、データベースのテーブルを定義します。以下のようにモデルを定義します。

from src import db
from datetime import datetime

class Entry(db.Model):
    __tablename__ = 'entries'
    id = db.Column(db.Integer, primary_key=True)
    title = db.Column(db.String(50), unique=True)
    text = db.Column(db.Text)
    create_at = db.Column(db.DateTime)

    def __init__(self, title=None, text=None):
        self.title = title
        self.text = text
        self.create_at = datetime.now()

データベースへの反映

最後に、モデルで定義した内容をデータベースに反映させます。以下のスクリプトを実行します。

import sys
sys.dont_write_bytecode = True

from flask_script import Command
from flask_script import Manager

from src import app
from src import db

class InitDB(Command):
    def run(self):
        db.create_all()

if __name__ == '__main__':
    m = Manager(app)
    m.add_command('init_db', InitDB())
    m.run()

以上で、Python FlaskとSQLiteを用いたWebアプリケーションの開発が可能になります。この知識を活かして、自分だけのWebアプリケーションを開発してみてください。.

投稿者 admin

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です