【发布时间】:2018-03-08 22:34:54
【问题描述】:
我正在 Heroku 上部署我的 Django 应用程序。它已成功部署。但是静态文件没有加载。
我关注了this 链接,但是当包含 Whitenoise 3.x 时,命令
python manage.py collectstatic --noinput
失败。
我的 Procfile:
python manage.py collectstatic --noinput
web:python manage.py runserver
web: gunicorn MovieTracker.wsgi --log-file -
heroku ps:scale web=1
我也尝试过:
heroku config:set DISABLE_COLLECTSTATIC=1
还有:
heroku config:set DISABLE_COLLECTSTATIC=0
settings.py 文件为:
BASE_DIR = os.path.dirname(os.path.dirname(__file__))
PROJECT_ROOT = os.path.dirname(os.path.abspath(__file__))
INSTALLED_APPS = (
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'tracker',
)
MIDDLEWARE_CLASSES = (
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
# 'whitenoise.middleware.WhiteNoiseMiddleware',
)
STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, "/tracker/static")
# STATICFILES_STORAGE = 'whitenoise.storage.CompressedManifestStaticFilesStorage'
启用白噪声,错误:
【问题讨论】:
-
另外,您的 Procfile 已完全损坏。它应该包含的唯一内容是第二行,
web: gunicorn MovieTracker.wsgi --log-file -。 -
我在问题中提到过,当我启用白噪声时,collectstatic 命令失败。以及我提到的“尝试过”的相同链接。
-
调试设置为真吗?如果将 debug 设置为 false,django 将无法提供静态文件。
-
@ParijatPurohit 无关紧要,OP 想使用 WhiteNoise 来提供静态文件。
-
@DanielRoseman 甚至尝试过使用那一行。
标签: python django heroku django-staticfiles