【Python】Webフレームワーク「Bottle」のインストールから使い方を簡単に解説

目次から探す

Bottleフレームワークでのデータベース連携

Webアプリケーションでは、データの保存や管理が重要な要素です。

Bottleフレームワークでは、Pythonの標準ライブラリや外部ライブラリを利用して、データベースと連携することができます。

ここでは、SQLiteを使ったデータベース連携の方法と、他のデータベースシステムとの連携方法について解説します。

SQLiteを使ったデータベース連携

SQLiteは、軽量で使いやすいデータベースシステムです。

Pythonの標準ライブラリに含まれているため、追加のインストールが不要です。

データベースの作成

まずは、SQLiteを使ってデータベースを作成しましょう。

以下のコードは、sample.dbという名前のデータベースファイルを作成し、usersテーブルを作成する例です。

|-- sample.py
|-- sample.db

import sqlite3
conn = sqlite3.connect('sample.db')
c = conn.cursor()
c.execute('''CREATE TABLE users (id INTEGER PRIMARY KEY, name TEXT, age INTEGER)''')
conn.commit()
conn.close()

データベースへの接続

BottleフレームワークでSQLiteデータベースに接続するには、以下のように sqlite3.connect() 関数を使ってデータベースファイルに接続します。


import sqlite3
from bottle import route, run, template
@route('/users')
def users():
    conn = sqlite3.connect('sample.db')
    c = conn.cursor()
    c.execute('SELECT * FROM users')
    user_list = c.fetchall()
    conn.close()
    return template('users', users=user_list)
run(host='localhost', port=8080)

CRUD操作の実装

データベースとの連携では、CRUD(Create, Read, Update, Delete)操作が基本となります。

以下は、BottleフレームワークでCRUD操作を実装した例です。


# 省略: データベースへの接続
@route('/user/add', method='POST')
def add_user():
    # 省略: ユーザー情報の追加処理
@route('/user/<user_id>')
def view_user(user_id):
    # 省略: ユーザー情報の表示処理
@route('/user/update/<user_id>', method='POST')
def update_user(user_id):
    # 省略: ユーザー情報の更新処理
@route('/user/delete/<user_id>', method='POST')
def delete_user(user_id):
    # 省略: ユーザー情報の削除処理

他のデータベースシステムとの連携

Bottleフレームワークでは、他のデータベースシステム(MySQL, PostgreSQLなど)とも連携できます。

それぞれのデータベースシステムに対応したPythonライブラリをインストールし、上記のSQLiteの例と同様にデータベースへの接続やCRUD操作を実装します。

例えば、MySQLと連携する場合は、mysql-connector-pythonライブラリをインストールし、以下のようにデータベースに接続します。


import mysql.connector
config = {
    'user': 'your_user',
    'password': 'your_password',
    'host': 'localhost',
    'database': 'your_database'
}
conn = mysql.connector.connect(**config)

データベースシステムによっては、接続方法やSQL文の記述が異なる場合があるため、各データベースシステムのドキュメントを参照してください。

1 2 3 4 5

目次から探す