🔹 預設資料庫 SQLite
- Django 預設使用 SQLite,適合 小型專案、測試環境,無須額外安裝資料庫。
-
無須額外設定,專案啟動即會建立
db.sqlite3
檔案。
- Django 預設的
settings.py
的資料庫設定
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': BASE_DIR / 'db.sqlite3',
}
}
🔹 串接 MySQL
- 適合 中大型專案,可處理大量資料,但需安裝 MySQL Server。
- 安裝 MySQL 套件
pip install mysqlclient
poetry add mysqlclient
- 如遇
mysqlclient
安裝問題,可改用 PyMySQL
:
pip install pymysql
poetry add pymysql
import pymysql
pymysql.install_as_MySQLdb()
CREATE DATABASE blog_db
CHARACTER SET utf8mb4
COLLATE utf8mb4_unicode_ci;
- 在 Django 的
settings.py
設定 MySQL 連線資訊。
-
Django 內建支援 MySQL,因此 無須修改
INSTALLED_APPS
,只需設定 DATABASES
:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'blog_db',
'USER': 'root',
'PASSWORD': 'your_password',
'HOST': 'localhost',
'PORT': '3306',
}
}
🔹 資料庫遷移
python manage.py makemigrations
python manage.py migrate
🔹 參考文件