我正在尝试使用heroku部署应用程序。但由于某种原因,静态文件未加载whitenoise并且浏览器中存在内部服务器错误消息:
Internal Server Error
The server encountered an unexpected internal
server error (generated by waitress)
在heroku日志中:
ValueError: The file 'css/style.css' could not be found with
whitenoise.django.GzipManifestStaticFilesStorage object at 0x7f5da0186750
以下是一些观点。
python manage.py runserver
:一切正常。没问题。heroku local
500错误。 (但视图仍显示)myhellowebapp/collection/static/css/style.css
python manage.py collectstatic
和heroku run python manage.py collectstatic
工作正常。STATICFILES_STORAGE =
'whitenoise.django.GzipManifestStaticFilesStorage'
,
浏览器中的错误消息消失,我可以在浏览器中看到应用程序的HTML,但没有附加css文件 所以它与whitenoise有关,但我不知道如何解决这个问题。
setting.py:
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
...
STATIC_URL = '/static/'
STATIC_ROOT = 'staticfiles'
STATICFILES_DIRS = (
os.path.join(BASE_DIR, 'static'),
)
settings_production.py:
from hellowebapp.settings import *
...
STATICFILES_STORAGE = 'whitenoise.django.GzipManifestStaticFilesStorage'
wsgi.py:
import os
os.environ.setdefault("DJANGO_SETTINGS_MODULE",
"hellowebapp.settings_production")
from django.core.wsgi import get_wsgi_application
from whitenoise.django import DjangoWhiteNoise
application = get_wsgi_application()
application = DjangoWhiteNoise(application)
我已经解决了这个问题好几天我尝试了我在网上找到的所有可能的解决方案,但没有一个有效。有人可以帮忙吗?
指向我所有代码的链接: