2016-12-15 2 views
0

Во-первых, извинения за длину этого.Django Static Files in Production Использование Whitenoise

У меня есть проект django, работающий на Centos6 и Apache с использованием плагина C-Panel для установки Django, и я пытаюсь обслуживать статические файлы на производстве. В моем проекте используется Django 1.9, и я пытаюсь использовать Whitenoise для обслуживания своих статических файлов.

Мой settings.py содержит следующее:

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'), 

И это мой 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', 
] 
) 

Это wsgi.py для моего приложения Джанго

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

И это это тот, который создается плагином:

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() 

У меня DEBUG = False в моих настройках.py. Когда я запускаю ./manage.py collectstatic, файлы собираются, и если я запустил сервер с 0.0.0.0:8000, будут найдены статические файлы.

Я попытался добавить следующее к обоим wsgi.py файлов, но безрезультатно:

from whitenoise.django importDjangoWhiteNoise 
application = DjangoWhiteNoise(application) 

Любые советы о том, как решить эту проблему будут оценены.

+0

Я забыл добавить, что мой IP недоступен на данный момент только через файл моих ноутбуков. – dtdave

ответ

0

Это поздний ответ, но он может помочь другим людям найти ответ.

Вам не нужно включать «django.middleware.security.SecurityMiddleware», когда вы используете «whitenoise.middleware.WhiteNoiseMiddleware».

Кроме того, вам не нужно вносить какие-либо изменения в wsgi.py. Добавление промежуточного программного обеспечения позаботится обо всем для вас.

Смежные вопросы