>백엔드 개발 >파이썬 튜토리얼 >프로덕션 준비를 위한 Django 애플리케이션

프로덕션 준비를 위한 Django 애플리케이션

DDD
DDD원래의
2024-10-19 06:13:021102검색

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를 구성하세요.

settings.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에서 데이터베이스를 설정하고 연결 세부정보를 기록해 두세요.

Django를 PostgreSQL과 연결하려면 psycopg2를 설치하세요.

pip 설치 psycopg2-바이너리

settings.py 업데이트:

settings.py

데이터베이스 = {
'기본값': {
'엔진': 'django.db.backends.postgresql',
'NAME': 'DB 이름',
'사용자': '당신의-db-사용자',
'PASSWORD': 'your-db-password',
'HOST': 'your-db-host',
'PORT': 'your-db-port',
}
}

  1. WhiteNoise를 사용하여 정적 파일 제공:

정적 파일을 제공하려면 WhiteNoise를 설치하세요.

pip 설치 화이트노이즈

settings.py에서 MIDDLEWARE 및 STATICFILES_STORAGE를 업데이트하세요.

settings.py

미들웨어 = [
'django.middleware.security.SecurityMiddleware',
'whitenoise.middleware.WhiteNoiseMiddleware', # SecurityMiddleware 뒤에 추가하세요
# 기타 미들웨어
]

정적 파일(CSS, JavaScript, 이미지)

STATIC_URL = '/정적/'
STATIC_ROOT = BASE_DIR / '정적 파일'

화이트노이즈 구성

STATICFILES_STORAGE = 'whitenoise.storage.CompressedManifestStaticFilesStorage'

  1. 추가 제작 설정:

보안 설정:

settings.py

디버그 = 거짓
ALLOWED_HOSTS = ['your-domain.com', 'your-render-subdomain.onrender.com']

보안 설정

SECURE_SSL_REDIRECT = 참
SESSION_COOKIE_SECURE = 참
CSRF_COOKIE_SECURE = 참

정적 파일 수집: 모든 정적 파일을 수집하려면 다음 명령을 실행하세요.

pythonmanage.pycollectstatic

  1. 렌더링 시 배포:

GitHub 저장소에 연결하여 Render에서 프로젝트를 설정하세요.

렌더링 플랫폼에서 Django 설정에 대한 환경 변수를 정의합니다(예: AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, DJANGO_SECRET_KEY 등).

빌드 및 시작 명령 구성:

빌드 명령

pip install -r 요구사항.txt

시작 명령

gunicorn your_project_name.wsgi:application

이러한 단계를 따르면 AWS S3에서 호스팅되는 미디어 파일, Render의 PostgreSQL 데이터베이스, WhiteNoise를 사용하여 효율적으로 제공되는 정적 파일을 통해 Django 애플리케이션을 프로덕션에 사용할 수 있습니다.

위 내용은 프로덕션 준비를 위한 Django 애플리케이션의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.