import os
import mysql.connector as sql
from werkzeug.exceptions import HTTPException, BadRequest
from flask import Flask, g, request, json
app = Flask(__name__)
#[ DB 處裡 ]#############################################################
# https://docsxyz.com/zh-hant/wiki/python/connector-python-connectargs
db_config = {
'host' : "localhost",
'user' : "XXXX",
'passwd' : "XXXX",
'db' : 'XXXX',
'use_pure' : True,
'autocommit': True,
'charset' : 'utf8',
}
@app.before_request
def before_request():
# 在 request 前開啟 DB 連線
# g 是 Flask global 在每個 request 有獨立的 context
g.cnt = sql.connect(**db_config)
g.cursor = g.cnt.cursor(dictionary = True)
@app.after_request
def after_request(response):
# 在 request 後結束 DB 連線
cursor = g.get('cursor', None)
if cursor is not None:
# 當 cursor 還有 row 沒有取出,close 會發生錯誤
if cursor.with_rows : cursor.fetchall()
cursor.close()
cnt = g.get('cnt', None)
if cnt is not None:
cnt.close()
return response
沒有留言:
張貼留言
你好!歡迎你在我的 Blog 上留下你寶貴的意見。