Heim  >  Artikel  >  Backend-Entwicklung  >  Django-Anwendung für die Produktion bereit

Django-Anwendung für die Produktion bereit

DDD
DDDOriginal
2024-10-19 06:13:021003Durchsuche

Django application for production ready

Um eine Django-Anwendung für die Produktion mit den folgenden Anforderungen einzurichten, können Sie die unten beschriebenen Schritte ausführen:

  1. Konfigurieren Sie den AWS S3 Bucket für Mediendateien:

Installieren Sie boto3 und django-storages, um AWS S3 in Ihre Django-App zu integrieren:

pip install boto3 django-storages

Aktualisieren Sie die Django-Einstellungen (settings.py), um AWS S3 zu konfigurieren:

Settings.py

AWS S3-Konfigurationen

AWS_ACCESS_KEY_ID = 'Ihr-Zugriffsschlüssel'
AWS_SECRET_ACCESS_KEY = 'Ihr-geheimer-Schlüssel'
AWS_STORAGE_BUCKET_NAME = 'Ihr-Bucket-Name'
AWS_S3_REGION_NAME = 'your-region' # z. B. 'us-east-1'
AWS_S3_CUSTOM_DOMAIN = f'{AWS_STORAGE_BUCKET_NAME}.s3.amazonaws.com'

Konfiguration der Mediendateien

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

  1. PostgreSQL-Datenbank beim Rendern konfigurieren:

Richten Sie Ihre Datenbank auf Render ein und notieren Sie die Verbindungsdetails.

Installieren Sie psycopg2, um Django mit PostgreSQL zu verbinden:

pip install psycopg2-binary

Aktualisieren Sie Ihre Settings.py:

Settings.py

DATENBANKEN = {
'Standard': {
'ENGINE': 'django.db.backends.postgresql',
'NAME': 'Ihr-Datenbankname',
'USER': 'your-db-user',
'PASSWORD': 'Ihr-Datenbank-Passwort',
'HOST': 'Ihr-Datenbank-Host',
'PORT': 'Ihr-Datenbank-Port',
}
}

  1. Statische Dateien mit WhiteNoise bereitstellen:

Installieren Sie WhiteNoise, um statische Dateien bereitzustellen:

pip install whitenoise

Aktualisieren Sie MIDDLEWARE und STATICFILES_STORAGE in Ihren Settings.py:

Settings.py

MIDDLEWARE = ​​[
'django.middleware.security.SecurityMiddleware',
'whitenoise.middleware.WhiteNoiseMiddleware', # Fügen Sie dies nach SecurityMiddleware hinzu
# Andere Middleware
]

Statische Dateien (CSS, JavaScript, Bilder)

STATIC_URL = '/static/'
STATIC_ROOT = BASE_DIR / 'staticfiles'

WhiteNoise-Konfiguration

STATICFILES_STORAGE = 'whitenoise.storage.CompressedManifestStaticFilesStorage'

  1. Zusätzliche Produktionseinstellungen:

Sicherheitseinstellungen:

Settings.py

DEBUG = Falsch
ALLOWED_HOSTS = ['your-domain.com', 'your-render-subdomain.onrender.com']

Sicherheitseinstellungen

SECURE_SSL_REDIRECT = True
SESSION_COOKIE_SECURE = True
CSRF_COOKIE_SECURE = True

Statische Dateien sammeln: Führen Sie den folgenden Befehl aus, um alle statischen Dateien zu sammeln:

Python manage.py Collectstatic

  1. Beim Rendern bereitstellen:

Richten Sie Ihr Projekt auf Render ein, indem Sie eine Verbindung zu Ihrem GitHub-Repository herstellen.

Definieren Sie Umgebungsvariablen auf der Render-Plattform für Ihre Django-Einstellungen (z. B. AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, DJANGO_SECRET_KEY usw.).

Konfigurieren Sie die Build- und Startbefehle:

Befehl erstellen

pip install -r require.txt

Befehl starten

gunicorn your_project_name.wsgi:application

Wenn Sie diese Schritte befolgen, stellen Sie sicher, dass Ihre Django-Anwendung produktionsbereit ist, mit Mediendateien, die auf AWS S3 gehostet werden, einer PostgreSQL-Datenbank auf Render und statischen Dateien, die effizient mit WhiteNoise bereitgestellt werden.

Das obige ist der detaillierte Inhalt vonDjango-Anwendung für die Produktion bereit. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn