Skip to main content

MySQLdb extension for Flask

Project description

Flask-MySQLdb Build Status

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

Flask-MySQLdb-2.0.0.tar.gz (4.5 kB view details)

Uploaded Source

Built Distribution

Flask_MySQLdb-2.0.0-py3-none-any.whl (4.9 kB view details)

Uploaded Python 3

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

Hashes for Flask-MySQLdb-2.0.0.tar.gz
Algorithm Hash digest
SHA256 4f3e15013a2d48c8eaccdebcfedc3b1c4a29be77de6e7c746ad589ab5afcd3ef
MD5 d1f85ef1a7be45b6c31d9ffa167ec929
BLAKE2b-256 b480afdc313a3875d15c3ba32de302fa161890ceae762576f890fde74f29a01d

See more details on using hashes here.

File details

Details for the file Flask_MySQLdb-2.0.0-py3-none-any.whl.

File metadata

File hashes

Hashes for Flask_MySQLdb-2.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 84ad09c862a408709538d237712426a6d34ed3e7e971effd6c7186023cd2f2f5
MD5 7d7e08abde7b1975138987aeeb006dee
BLAKE2b-256 31c4c91b4a704c1e2467ecfd2c47a9c6f609af37cde7380698aace19dce24f53

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page