如何在 Django 中为 WhiteNoise 5.1.0 设置 wsgi.py 文件?

How to setup wsgi.py file in Django for WhiteNoise 5.1.0?

我使用 Heroku,但我遇到了静态文件问题 - 它们是在 STATIC_ROOT 中创建的。我知道我需要为 WhiteNoise 设置 wsgi.py 文件。我尝试了一些不同的方法来设置它,但我每次都失败了。这是我的代码:

/wsgi.py

import os
from django.conf import settings
from django.core.wsgi import get_wsgi_application

from whitenoise import WhiteNoise

application = get_wsgi_application()
application = WhiteNoise(application, root=settings.STATIC_ROOT)

os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'api_obs.settings')

这是错误线程中的最后一条错误消息:

gunicorn.errors.HaltServer: <HaltServer 'Worker failed to boot.'

正确的设置方法是什么?我的 settings.py 文件是正确的 是我之前问他们的问题。我只是没有声明 STATICFILES_DIRS 但不是必需的,对吗?

无需编辑wsgi.py,自两年前发布的 WhiteNoise 4.0 以来一直不支持

您只需编辑 MIDDLEWARE 设置,请参阅: http://whitenoise.evans.io/en/stable/index.html#quickstart-for-django-apps