将 Django 连接到 MySQL 数据库
Vaibhav Vaibhav
2023年1月30日
使用数据库时,列表中有很多选项。我们可以选择关系型数据库或 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
进行所需的迁移以完成设置。
作者: Vaibhav Vaibhav