將 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.