如何在 Django 中为 WhiteNoise 5.1.0 设置 wsgi.py 文件?
Posted
技术标签:
【中文标题】如何在 Django 中为 WhiteNoise 5.1.0 设置 wsgi.py 文件?【英文标题】:How to setup wsgi.py file in Django for WhiteNoise 5.1.0? 【发布时间】:2020-11-24 19:14:53 【问题描述】:我使用 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
文件是正确的here 是我之前对他们提出的问题。我只是没有声明STATICFILES_DIRS
,但这不是必需的,对吧?
【问题讨论】:
【参考方案1】:您无需编辑wsgi.py
,自两年前发布的 WhiteNoise 4.0 以来一直不支持该功能。
您只需要编辑您的MIDDLEWARE
设置,请参阅:
http://whitenoise.evans.io/en/stable/index.html#quickstart-for-django-apps
【讨论】:
好的,这很干净。但是我关于未创建 Heroku 静态文件的问题是留在这里..以上是关于如何在 Django 中为 WhiteNoise 5.1.0 设置 wsgi.py 文件?的主要内容,如果未能解决你的问题,请参考以下文章
如何调试使用 whitenoise、gunicorn 和 heroku 服务的 django 静态文件?
如何调试带有whitenoise,gunicorn和heroku的Django静态文件?