PostgreSQL: 使用 Django 與 PostgreSQL

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

👋 歡迎來到 Stackhero 文件!

Stackhero 提供即用的 PostgreSQL 雲端 解決方案,帶來多項好處,包括:

  • 無限連接和數據傳輸。
  • 包含 PgAdmin 網頁介面。
  • 許多 模組PostGISTimescaleDBPgVector 已包含。
  • 只需點擊即可輕鬆 更新
  • 專用私有 VM 提供的最佳 效能 和強大 安全性

節省時間簡化您的生活:只需 5 分鐘 即可嘗試 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