PythonのWebフレームワークであるFlaskを使用して、データベースと連携したWebアプリケーションを作成する方法について説明します。
Flaskとデータベースの連携
Flaskでは、データベースと連携するためには、まずデータベースとの接続を確立する必要があります。この接続は、Pythonのライブラリであるpsycopg2
を使用して行います。
import psycopg2
# PostgreSQLへの接続
conn = psycopg2.connect(
user="ユーザ名",
password="パスワード",
host="localhost",
port="5432",
dbname="データベース名"
)
Webアプリケーションの作成
FlaskでWebアプリケーションを作成するためには、まずルーティングとビューを定義します。
from flask import Flask, render_template
app = Flask(__name__)
@app.route('/')
def blog():
return render_template('index.html')
上記のコードでは、ルート(’/’)にアクセスがあると、ビューとしてblog
関数を実行します。blog
関数内では、index.html
をHTMLテンプレートファイルとして参照し、レスポンスを返しています。
データベースからのデータ取得
データベースからデータを取得するためには、SQL文を使用します。以下に、Flaskでデータベースからデータを取得し、それをテーブル形式で画面に表示する例を示します。
from flask import Flask, render_template, request
import psycopg2
import pandas as pd
app = Flask(__name__)
# PostgreSQLへの接続
conn = psycopg2.connect(
user="ユーザ名",
password="パスワード",
host="localhost",
port="5432",
dbname="データベース名"
)
@app.route('/result', methods=["GET"])
def result():
# GET送信の処理
user_id = request.args.get("user_id","")
sql = "select * from payment where customer_id='{}'".format(user_id)
df = pd.read_sql(sql, conn)
return render_template('result.html', table=(df.to_html(classes="mystyle")))
このコードでは、GETメソッドでのリクエストに応じてデータベースから取得したデータをテーブル形式で画面に表示しています。
以上が、PythonとFlaskを使用してデータベースと連携したWebアプリケーションを作成する基本的な手順です。これらの手順を参考に、自分だけのWebアプリケーションを作成してみてください。.