ValueError:使用whitenoise无法找到文件'css / style.css'

时间:2016-10-28 06:23:11

标签: python django heroku

我正在尝试使用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

以下是一些观点。

  • 在heroku的根文件夹中创建一个空的静态文件(其中包含一个空的robots.txt)。
  • python manage.py runserver:一切正常。没问题。
  • heroku local 500错误。 (但视图仍显示)
  • css文件路径:myhellowebapp/collection/static/css/style.css
  • python manage.py collectstaticheroku 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)

我已经解决了这个问题好几天我尝试了我在网上找到的所有可能的解决方案,但没有一个有效。有人可以帮忙吗?

指向我所有代码的链接:

https://github.com/ryuji-the-dragon/hellomyapp

0 个答案:

没有答案