gpt4 book ai didi

python - 导致服务器错误 (500) 的白噪声和/或静态文件

转载 作者:行者123 更新时间:2023-11-28 18:26:20 25 4
gpt4 key购买 nike

当 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 相同的文件夹,在根文件夹中等)都无济于事。

有什么想法吗?

最佳答案

您可能忘记在 settings.py MIDDLEWARE 设置中包含 whitenoice 中间件。编辑您的 settings.py 文件并将 WhiteNoise 添加到 MIDDLEWARE_CLASSES 列表,除了 Django 的 SecurityMiddleware 之外的所有其他中间件之上:

MIDDLEWARE_CLASSES = [
# 'django.middleware.security.SecurityMiddleware',
'whitenoise.middleware.WhiteNoiseMiddleware',
#...
]

可以在 whitenoise 文档中找到更多信息:http://whitenoise.evans.io/en/stable/django.html

逐步完成设置,看看您缺少什么。 Heroku 文档倾向于省略中间件的添加——这会导致错误——并且您的应用程序可能还缺少其他东西。

关于python - 导致服务器错误 (500) 的白噪声和/或静态文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41254846/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com