将 Django 连接到 MySQL 数据库

Vaibhav Vaibhav 2023年1月30日
  1. MySQL 与 Django 连接的初始设置
  2. 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 键各不相同。除此之外,还有一些额外的键,如 USERPASSWORDHOSTPORT

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

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

作者: Vaibhav Vaibhav
Vaibhav Vaibhav avatar Vaibhav Vaibhav avatar

Vaibhav is an artificial intelligence and cloud computing stan. He likes to build end-to-end full-stack web and mobile applications. Besides computer science and technology, he loves playing cricket and badminton, going on bike rides, and doodling.