当DEBUG = True时,我可以通过Django将我的应用程序部署到Heroku,但当DEBUG = False时,我会收到一个服务器错误。我认为这与我如何设置静态文件有关。当我注释掉“STATICFILES_STORAGE ='whitenoise.django.GzipManifestStaticFilesStorage'”时,我不会收到错误消息,但网站完全没有格式。以下是相关的settings.py代码:
INSTALLED_APPS = [
...
'django.contrib.staticfiles',
...
]
ALLOWED_HOSTS = ['*']
PROJECT_ROOT = os.path.dirname(os.path.abspath(__file__))
STATIC_ROOT= os.path.join(PROJECT_ROOT, 'staticfiles')
STATIC_URL = '/static/'
STATICFILES_STORAGE = 'whitenoise.django.GzipManifestStaticFilesStorage'
STATICFILES_DIRS = (
os.path.join(PROJECT_ROOT, 'static'),
)
我已经将静态文件夹添加到各种位置(与settings.py在同一文件夹中,根文件夹中等),但仍无法解决问题。
有任何想法吗?
python manage.py collectstatic
并重试,同时还要包括错误信息,不是500错误,请将DEBUG设置为False并尝试运行python manage.py runserver
,并检查堆栈跟踪。 - Renjith ThankachanALLOWED_HOSTS = ['*']
,尽管这是可能的,但这有点反模式。请参阅https://docs.djangoproject.com/en/1.10/ref/settings/#allowed-hosts获取相关文档。 - Peterino