Flask 的 MySQLdb 扩展
项目描述
Flask-MySQLdb
Flask-MySQLdb 为 Flask 提供 MySQL 连接。
快速开始
首先,您可能需要为mysqlclient安装一些依赖项, 如果您还没有这些依赖项,请参见此处。
二、安装Flask-MySQLdb:
pip install flask-mysqldb
Flask-MySQLdb 取决于并将为您安装最新版本的 Flask(0.12.4 或更高版本)和mysqlclient。Flask-MySQLdb 与 Python 3.7+ 兼容并经过测试。它应该适用于 Python 2.7 及更高版本的任何版本,但不受支持。
接下来,MySQL在您的代码中添加一个实例:
from flask import Flask
from flask_mysqldb import MySQL
app = Flask(__name__)
# Required
app.config["MYSQL_USER"] = "user"
app.config["MYSQL_PASSWORD"] = "password"
app.config["MYSQL_DB"] = "database"
# Extra configs, optional:
app.config["MYSQL_CURSORCLASS"] = "DictCursor"
app.config["MYSQL_CUSTOM_OPTIONS"] = {"ssl": {"ca": "/path/to/ca-file"}} # https://mysqlclient.readthedocs.io/user_guide.html#functions-and-attributes
mysql = MySQL(app)
@app.route("/")
def users():
cur = mysql.connection.cursor()
cur.execute("""SELECT user, host FROM mysql.user""")
rv = cur.fetchall()
return str(rv)
if __name__ == "__main__":
app.run(debug=True)
其他配置指令可以在这里找到。
为什么
为什么要使用这个扩展而不是单独使用 MySQLdb?唯一的原因是扩展是使用 Flask 与需要缓存在应用上下文中的资源相关的最佳实践进行的。这意味着该扩展将为您管理创建和拆除与 MySQL 的连接,而如果您只是使用 MySQLdb,您将不得不自己做。