我已经看了好几个星期了,这让我疯了。
部署到heroku时通常是404 error
。
有人可以告诉我这个静态文件的目的是什么和heroku上的这个复杂功能?
其次,我该怎么办?我已经尝试了很多东西。
settings.py
DEBUG = False
PROJECT_ROOT = BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
STATIC_URL ='/static/'
STATIC_ROOT = os.path.join(PROJECT_ROOT, 'static')
STATICFILES_DIRS = (os.path.join(os.path.realpath(PROJECT_ROOT), "/static"),)
STATICFILES_FINDERS = ('django.contrib.staticfiles.finders.FileSystemFinder',)
STATICFILES_STORAGE = 'whitenoise.storage.CompressedManifestStaticFilesStorage'
wsgi.py
import os
from django.core.wsgi import get_wsgi_application
from mezzanine.utils.conf import real_project_name
from whitenoise.django import DjangoWhiteNoise
os.environ.setdefault("DJANGO_SETTINGS_MODULE",
"%s.settings" % real_project_name(appname))
application = get_wsgi_application()
application = DjangoWhiteNoise(application)
是的,我已经完成了python manage.py collectstatic
我也尝试在Procfile
答案 0 :(得分:0)
STATIC_ROOT和STATICFILES_DIRS不应该相同。第一个是collectstatic将放置文件的地方 - 以及WhiteNoise将从中提供文件的地方。第二个是存储在开发中的位置。