首頁 > 後端開發 > Python教學 > Django 應用程式已準備好用於生產

Django 應用程式已準備好用於生產

DDD
發布: 2024-10-19 06:13:02
原創
1098 人瀏覽過

Django application for production ready

要設定具有以下要求的 Django 應用程式用於生產,您可以按照下面概述的步驟操作:

  1. 為媒體檔案設定 AWS S3 儲存桶:

安裝 boto3 和 django-storages 以將 AWS S3 與您的 Django 應用程式整合:

pip install boto3 django-storages

更新 Django 設定 (settings.py) 以設定 AWS S3:

設定.py

AWS S3 配置

AWS_ACCESS_KEY_ID = '您的存取金鑰'
AWS_SECRET_ACCESS_KEY = '您的秘密金鑰'
AWS_STORAGE_BUCKET_NAME = '您的儲存桶名稱'
AWS_S3_REGION_NAME = 'your-region' # 例如,'us-east-1'
AWS_S3_CUSTOM_DOMAIN = f'{AWS_STORAGE_BUCKET_NAME}.s3.amazonaws.com'

媒體檔案配置

MEDIA_URL = f'https://{AWS_S3_CUSTOM_DOMAIN}/media/'
DEFAULT_FILE_STORAGE = 'storages.backends.s3boto3.S3Boto3Storage'

  1. 在渲染時設定 PostgreSQL 資料庫:

在 Render 上設定資料庫並記下連接詳細資訊。

安裝 psycopg2 連接 Django 和 PostgreSQL:

pip install psycopg2-binary

更新您的設定.py:

設定.py

資料庫 = {
「預設」:{
'ENGINE': 'django.db.backends.postgresql',
'NAME': '您的資料庫名稱',
'USER': '您的資料庫使用者',
'PASSWORD': '您的資料庫密碼',
'HOST': '您的資料庫主機',
'PORT': '你的資料庫連接埠',
}
}

  1. 使用 WhiteNoise 提供靜態檔案:

安裝 WhiteNoise 提供靜態檔案:

pip 安裝白噪音

更新 settings.py 中的 MIDDLEWARE 和 STATICFILES_STORAGE:

設定.py

中介軟體 = [
'django.middleware.security.SecurityMiddleware',
'whitenoise.middleware.WhiteNoiseMiddleware', # 在 SecurityMiddleware
之後加入此內容 # 其他中介軟體
]

靜態檔案(CSS、JavaScript、圖像)

STATIC_URL = '/static/'
STATIC_ROOT = BASE_DIR / '靜態檔案'

白噪音配置

STATICFILES_STORAGE = 'whitenoise.storage.CompressedManifestStaticFilesStorage'

  1. 其他製作設定:

安全設定:

設定.py

調試=假
ALLOWED_HOSTS = ['your-domain.com', 'your-render-subdomain.onrender.com']

安全設定

SECURE_SSL_REDIRECT = True
SESSION_COOKIE_SECURE = True
CSRF_COOKIE_SECURE = True

收集靜態檔案:執行以下命令收集所有靜態檔案:

python管理.pycollectstatic

  1. 在渲染器上部署:

透過連接到 GitHub 儲存庫在 Render 上設定您的專案。

在渲染平台上為 Django 設定定義環境變數(例如 AWS_ACCESS_KEY_ID、AWS_SECRET_ACCESS_KEY、DJANGO_SECRET_KEY 等)。

設定建置與啟動指令:

建置命令

pip install -r requests.txt

啟動命令

gunicorn your_project_name.wsgi:application

遵循這些步驟將確保您的 Django 應用程式已做好生產準備,媒體檔案託管在 AWS S3 上、Render 上的 PostgreSQL 資料庫以及使用 WhiteNoise 高效提供的靜態檔案。

以上是Django 應用程式已準備好用於生產的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:dev.to
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板