/ / Django Statische Dateien in der Produktion mit Whitenoise - Django, Produktion

Django Statische Dateien in Produktion mit Whitenoise - django, Produktion

Zunächst einmal entschuldige mich für die Dauer.

Ich habe ein Django-Projekt unter Centos6 undApache verwendet ein C-Panel-Plugin, um Django zu installieren, und ich versuche, die statischen Dateien in der Produktion bereitzustellen. Mein Projekt verwendet Django 1.9 und ich versuche, Whitenoise zum Bereitstellen meiner statischen Dateien zu verwenden.

Mein settings.py enthält Folgendes:

STATICFILES_STORAGE ="whitenoise.django.GzipManifestStaticFilesStorage"
STATIC_URL = "/static/"
STATIC_ROOT = STATIC_ROOT = os.path.join(BASE_DIR, "staticfiles")
STATICFILES_DIRS = (
os.path.join(BASE_DIR, "common-static"),

Und das ist mein MIDDLEWARE_CLASSES

 MIDDLEWARE_CLASSES = [
"django.middleware.security.SecurityMiddleware",
"whitenoise.middleware.WhiteNoiseMiddleware",
"django.contrib.sessions.middleware.SessionMiddleware",
"django.middleware.common.CommonMiddleware",
"django.middleware.csrf.CsrfViewMiddleware",
"django.contrib.auth.middleware.AuthenticationMiddleware",
"django.contrib.auth.middleware.SessionAuthenticationMiddleware",
"django.contrib.messages.middleware.MessageMiddleware",
"django.middleware.clickjacking.XFrameOptionsMiddleware",
]
)

Dies ist die wsgi.py für meine Django-App

import os
from django.core.wsgi import get_wsgi_application
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "mysite.settings")
application = get_wsgi_application()

Und das ist das Plugin:

import os
import sys
import site
vepath = "/home/mysite/virtualenv3.5/lib/python3.5/site-packages"
prev_sys_path = list(sys.path)
site.addsitedir(vepath)

sys.path.append("/home/mysite/djangosites/mysite")
from django.core.wsgi import get_wsgi_application

os.environ.setdefault("DJANGO_SETTINGS_MODULE","mysite.settings"
application = get_wsgi_application()

Ich habe DEBUG = False in meinen Einstellungen.py. Wenn ich ./manage.py collectstatic starte, werden die Dateien gesammelt und wenn ich den Server mit 0.0.0.0:8000 starte, werden die statischen Dateien gefunden.

Ich habe versucht, den beiden wsgi.py-Dateien Folgendes hinzuzufügen, jedoch ohne Erfolg:

from whitenoise.django importDjangoWhiteNoise
application = DjangoWhiteNoise(application)

Irgendwelche Ratschläge, wie man dieses Problem lösen kann, würden wir begrüßen.

Antworten:

0 für die Antwort № 1

Es ist eine späte Antwort, aber es kann anderen Leuten helfen, nach einer Antwort zu suchen.

Sie müssen NICHT "django.middleware.security.SecurityMiddleware" angeben, wenn Sie "whitenoise.middleware.WhiteNoiseMiddleware" verwenden.

Außerdem müssen Sie keine Änderungen in wsgi.py vornehmen. Durch das Hinzufügen der Middleware wird alles für Sie erledigt.