PostgreSQL: 使用 PostgreSQL 與 Django

本文件是入門指南指南的一部分。請在此處查看完整指南:如何開始使用 PostgreSQL

👋 歡迎來到 Stackhero 文件中心!

Stackhero 提供全代管的 PostgreSQL 雲端 服務,專為高可靠性與高速效能設計:

  • 無限制連線數與資料傳輸,輕鬆擴展無障礙。
  • 內建 PgAdmin 網頁管理介面,資料庫管理直覺又方便。
  • 熱門 擴充套件預先安裝,如 PostGISTimescaleDBPgVector
  • 一鍵式 更新,讓您的資料庫隨時保持安全與最新狀態。
  • 專屬私有基礎架構,提供高 效能與強化 安全性

您只需幾分鐘即可開始使用 Stackhero 的 PostgreSQL 雲端主機服務。享受穩定可靠的資料庫體驗,節省寶貴的管理時間。

如果尚未安裝,請安裝 psycopg 模塊,該模塊將用於連接 PostgreSQL:

pip install psycopg

在這個初始步驟中,您將直接在 settings.py 文件中存儲密碼。此方法僅用於測試,因為它不安全。在本文檔的後面,您將找到一個最佳實踐的示例。

打開 settings.py 文件並添加以下配置:

DATABASES = {
  'default': {
    'ENGINE': 'django.db.backends.postgresql',
    'HOST': '<XXXXXX>.stackhero-network.com',
    'PORT': <PORT>,
    'OPTIONS': {
      'sslmode': 'require',
    },
    'NAME': 'admin',
    'USER': 'admin',
    'PASSWORD': '<ADMIN_PASSWORD>'
  }
}

注意:此示例不建議用於生產環境,僅用於測試目的!

一旦您的連接正常工作,您可以採用更安全的方法來存儲憑據。以下示例使用 django-environ 並將憑據存儲在 .env 文件中。

  1. 安裝 django-environ

    pip install django-environ
    
  2. 打開 settings.py 文件並按如下方式修改:

    import environ
    env = environ.Env()
    environ.Env.read_env()
    
    DATABASES = {
      'default': {
        'ENGINE': 'django.db.backends.postgresql',
        'HOST': env('STACKHERO_POSTGRESQL_HOST'),
        'PORT': <PORT>,
        'OPTIONS': {
          'sslmode': 'require',
        },
        'NAME': 'admin',
        'USER': 'admin',
        'PASSWORD': env('STACKHERO_POSTGRESQL_ADMIN_PASSWORD')
      }
    }
    
  3. 在與 settings.py 相同的目錄中打開或創建 .env 文件並添加:

    STACKHERO_POSTGRESQL_HOST=<XXXXXX>.stackhero-network.com
    STACKHERO_POSTGRESQL_ADMIN_PASSWORD=<ADMIN_PASSWORD>
    
  4. 最後,將 .env 添加到您的 .gitignore 文件中,以確保您的憑據不會存儲在您的 Git 存儲庫中:

echo ".env" >> .gitignore