首先對此的長度表示歉意。使用Whitenoise製作Django靜態文件
我有一個運行在Centos6和Apache上的django項目,使用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',
]
)
這是我的Django應用程序
import os
from django.core.wsgi import get_wsgi_application
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "mysite.settings")
application = get_wsgi_application()
而且這個wsgi.py是由插件生成的:
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()
我在我的settings.py中有DEBUG = False。 當我運行./manage.py collectstatic收集文件,如果我用0.0.0.0:8000運行服務器,找到靜態文件。
我嘗試添加以下兩個wsgi.py文件,但無濟於事:
from whitenoise.django importDjangoWhiteNoise
application = DjangoWhiteNoise(application)
就如何解決這一將不勝感激任何意見。
我忘了補充一點,我的IP目前只能通過筆記本電腦主機文件公開發布。 – dtdave