■ はじめに
Flask(フラスク)内で、MySQLに接続して、データをやり取りする
【1】サンプル
* データベース、テーブル、データは、以下の関連記事で使用したものと同じ
main.py
#!/usr/bin/env python # -*- coding: UTF-8 -*- from flask import Flask, render_template import pymysql app = Flask(__name__) def getDbConnection(): return pymysql.connect( host="localhost", db="sample_db", user="root", password="password", charset="utf8", cursorclass=pymysql.cursors.DictCursor) @app.route("/db/<int:id>") def demo_mysql(id): connection = getDbConnection() cursor = connection.cursor() cursor.execute("SELECT * FROM person WHERE id=%s", id) person = cursor.fetchone() cursor.execute("INSERT INTO person(name) VALUES('Naomi')") connection.commit() cursor.execute("SELECT * FROM person") people = cursor.fetchall() cursor.close() connection.close() return render_template("db-sample.html", person_val = person, person_vals = people) if __name__ == "__main__": app.run() templates/db-sample.html <!DOCTYPE html> <html lang="ja"> <head> <meta charset="utf-8"> <title>Flask - Demo</title> </head> <body> <h1>Sample</h1> <p>GET => [{{ person_val.id }}] {{ person_val.name }}!!!</p> {% for person in person_vals: %} <p>[{{ person.id }}] Hello, {{ person.name }}!!!</p> {% endfor %} </body> </html>
実行コマンド
python main.py
動作確認
* 後は、ブラウザで以下にアクセスする
関連記事
Python with DB 〜 MySQL 〜
https://dk521123.hatenablog.com/entry/2018/09/14/173900
Flask ~ SQLAlchemy / 入門編 ~
https://dk521123.hatenablog.com/entry/2018/09/19/223200
Flask ~ SQLAlchemy / 基本編 ~
https://dk521123.hatenablog.com/entry/2018/09/23/165130