[PYTHON] Paramètres de la base de données Flask

introduction

Cette section décrit les bases des paramètres relatifs à la base de données de Flask. La base de données doit utiliser SQLite.

Paramètres de schéma

La définition de la table est la suivante.

schema.sql


DROP TABLE IF EXISTS user;

CREATE TABLE user (
    id INTEGER PRIMARY KEY AUTOINCREMENT,
    username TEXT UNIQUE NOT NULL,
    password TEXT NOT NULL
);

Fonctions pour la base de données

Les fonctions liées à la base de données sont les suivantes.

db.py


import sqlite3

import click
from flask import current_app, g
from flask.cli import with_appcontext


def get_db():
    if 'db' not in g:
        g.db = sqlite3.connect(
            current_app.config['DATABASE'],
            detect_types=sqlite3.PARSE_DECLTYPES
        )
        g.db.row_factory = sqlite3.Row

    return g.db


def close_db(e=None):
    db = g.pop('db', None)

    if db is not None:
        db.close()


def init_db():
    db = get_db()

    with current_app.open_resource('schema.sql') as f:
        db.executescript(f.read().decode('utf8'))


@click.command('init-db')
@with_appcontext
def init_db_command():
    """Clear the existing data and create new tables. """
    init_db()
    click.echo('Initialized the database.')


def init_app(app):
    app.teardown_appcontext(close_db)
    app.cli.add_command(init_db_command)

Résumé

Ici, nous avons expliqué les bases des paramètres de base de données. La prochaine fois, je couvrirai les paramètres de l'application.

Recommended Posts

Paramètres de la base de données Flask
Paramètres initiaux du flacon
Paramètres de l'application Flask
Paramètres du modèle HTML Flask
ballon
ballon
(Pour moi-même) Flask_7 (Ouvrir la base de données depuis Flask)
Premier flacon
paramètres de samba
Mémo du flacon
Paramètres VIM