0

我在 Django 框架中开发了我的 Web 应用程序。我还制作了 404 和 500 错误页面,并且非常了解,它们只能在 DEBUG=False 时工作。

现在的问题是,在设置 DEBUG=False 后,我在 Heroku 上托管的应用程序不再显示。我还使用 whitenoise 包来配置我的静态文件。

这是与此问题相关的我的 settings.py

DEBUG = True

MIDDLEWARE = [
    'django.middleware.security.SecurityMiddleware',
    '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',
]

STATICFILES_STORAGE = 'whitenoise.storage.CompressedManifestStaticFilesStorage'

STATIC_URL = '/static/'
STATIC_ROOT = 'staticfile'
STATICFILES_DIRS = [BASE_DIR / "static"]
MEDIA_URL = '/media/'
MEDIA_ROOT = "media" 

注意:我使用命令收集了静态文件heroku run python manage.py collectstaic

4

1 回答 1

0

我能够解决这个问题。当我删除白噪声时STATICFILES_STORAGE = 'whitenoise.storage.CompressedManifestStaticFilesStorage',我注意到我不再收到读取联系管理员的错误,并且当我设置 DEBUG=False 时,我的页面能够加载并且 404 和 500 页面正确加载

但我注意到,图像不再显示。但我有一种感觉,如果我使用 aaws 或 cloudinary 来托管图像并为它们提供服务器,它应该可以完美运行。

于 2020-12-29T11:49:36.010 回答