MySQLdb extension for Flask
Project description
Flask-MySQLdb
Flask-MySQLdb provides MySQL connection for Flask.
Quickstart
First, you may need to install some dependencies for mysqlclient if you don't already have them, see here.
Second, install Flask-MySQLdb:
pip install flask-mysqldb
Flask-MySQLdb depends, and will install for you, recent versions of Flask (1.0.4 or later) and mysqlclient. Flask-MySQLdb is compatible with and tested with Python 3.8+.
Next, add a MySQL
instance to your code:
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)
Other configuration directives can be found here.
Why
Why would you want to use this extension versus just using MySQLdb by itself? The only reason is that the extension was made using Flask's best practices in relation to resources that need caching on the app context. What that means is that the extension will manage creating and teardown the connection to MySQL for you while with if you were just using MySQLdb you would have to do it yourself.
Resources
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file Flask-MySQLdb-2.0.0.tar.gz
.
File metadata
- Download URL: Flask-MySQLdb-2.0.0.tar.gz
- Upload date:
- Size: 4.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4f3e15013a2d48c8eaccdebcfedc3b1c4a29be77de6e7c746ad589ab5afcd3ef |
|
MD5 | d1f85ef1a7be45b6c31d9ffa167ec929 |
|
BLAKE2b-256 | b480afdc313a3875d15c3ba32de302fa161890ceae762576f890fde74f29a01d |
File details
Details for the file Flask_MySQLdb-2.0.0-py3-none-any.whl
.
File metadata
- Download URL: Flask_MySQLdb-2.0.0-py3-none-any.whl
- Upload date:
- Size: 4.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 84ad09c862a408709538d237712426a6d34ed3e7e971effd6c7186023cd2f2f5 |
|
MD5 | 7d7e08abde7b1975138987aeeb006dee |
|
BLAKE2b-256 | 31c4c91b4a704c1e2467ecfd2c47a9c6f609af37cde7380698aace19dce24f53 |