HOWTO · Django

将 Django 连接到 MySQL 数据库

了解如何将 Django 连接到 MySQL 数据库

本页内容

使用数据库时,列表中有很多选项。我们可以选择关系型数据库或 SQL 数据库(如 MySQL、PostgreSQL、SQL Server、SQLite、MariaDB)和非关系型数据库或非 SQL 数据库(如 MongoDB 和 Redis Couchbase)。

由于 Django 是一个成熟的强大 Web 框架,它几乎与所有数据库兼容。我们可能需要做一些额外的工作,或者可能需要为特定数据库使用一些插件或应用程序,但 Django 官方支持 PostgreSQL、MariaDB、MySQL、Oracle 和 SQLite。

这篇文章讲的是如何连接 MySQL 到 Django。

MySQL 与 Django 连接的初始设置

在继续进行连接设置之前,请确保你的系统上已设置 MySQL。确保你创建了一个帐户并创建了要连接的数据库。

此外,你还需要一个 MySQL 客户端来使用 Python(3.X 版本)与数据库进行交互。

可以使用以下 pip 命令下载 MySQL 客户端。

pip install mysqlclient

或者,

pip3 install mysqlclient

Django MySQL 连接设置

默认情况下,Django 使用 SQLite 数据库。相同的连接设置如下所示。

DATABASES = {
    "default": {
        "ENGINE": "django.db.backends.sqlite3",
        "NAME": BASE_DIR / "db.sqlite3",
    }
}

要将 Django 连接到 MySQL 数据库,我们必须使用以下设置。

DATABASES = {
    "default": {
        "ENGINE": "django.db.backends.mysql",
        "NAME": "databaseName",
        "USER": "databaseUser",
        "PASSWORD": "databasePassword",
        "HOST": "localhost",
        "PORT": "portNumber",
    }
}

MySQL 数据库的 ENGINE 键各不相同。除此之外,还有一些额外的键,如 USER、PASSWORD、HOST 和 PORT。

NAME 该键存储你的 MySQL 数据库的名称。
USER 此键存储你的 MySQL 帐户的用户名,将使用该用户名连接 MySQL 数据库。
PASSWORD 此键存储该 MySQL 帐户的密码。
HOST 此键存储托管 MySQL 数据库的 IP 地址。
PORT 此键存储托管 MySQL 数据库的端口号。

最后,使用 python manage.py makemigrations 和 python manage.py migrate 进行所需的迁移以完成设置。