使用Django連接PostgreSQL資料庫 | Django
在開發網站應用程式時,使用 Django 搭配 PostgreSQL 資料庫是一個常見的組合。本文將介紹如何透過 Psycopg2 套件,將 Django 與 PostgreSQL 連接起來。
步驟一:安裝Psycopg2
首先,確保已經安裝了Psycopg2套件。你可以使用pip來安裝:
pip install psycopg2
如果遇到Linux相關的問題
例如: python setup.py egg_info did not run successfully. 解決方案
# 安裝依賴
sudo apt-get install libpq-dev python-dev python3-dev # Ubuntu/Debian
sudo yum install postgresql-devel python-devel python3-devel # CentOS/RHEL
# 更新pip 相關套件
pip install --upgrade pip
pip install --upgrade setuptools wheel
# 重新安裝 psycopg2
pip install psycopg2
步驟二:設定Django專案的資料庫設定
在Django專案中,我們需要在設定檔中配置資料庫連接。打開專案中的settings.py
檔案,尋找DATABASES
設定區塊,並將其設定為:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql',
'NAME': 'your_database_name',
'USER': 'your_database_user',
'PASSWORD': 'your_database_password',
'HOST': 'localhost',
'PORT': '5432',
}
}
請將your_database_name
、your_database_user
和your_database_password
替換為你的PostgreSQL資料庫名稱、使用者名稱和密碼。
步驟三:執行遷移
執行Django的資料庫遷移命令,以確保資料庫結構與模型一致:
python manage.py migrate
步驟四:測試連接
現在,我們可以測試連接是否成功。在Django專案的命令列中執行以下命令:
python manage.py shell
然後,在Python shell中嘗試匯入模型類以驗證連接:
from your_app.models import YourModel
如果沒有出現錯誤,則表示連接成功。
範例
假設我們有一個名為Post
的模型,代表網誌中的文章。我們可以在models.py
中定義這個模型:
from django.db import models
class Post(models.Model):
title = models.CharField(max_length=100)
content = models.TextField()
created_at = models.DateTimeField(auto_now_add=True)
def __str__(self):
return self.title
這樣就建立了一個簡單的文章模型。現在,你可以執行資料庫遷移,並在管理後台中使用這個模型了。
透過以上步驟,你已經成功地將Django與PostgreSQL連接起來,並建立了一個簡單的模型。希望這個指南對你有所幫助!
Tags