heroku和静态文件,同样的404错误

时间:2017-09-06 20:25:38

标签: python django heroku

我已经看了好几个星期了,这让我疯了。 部署到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

中添加

1 个答案:

答案 0 :(得分:0)

STATIC_ROOT和STATICFILES_DIRS不应该相同。第一个是collectstatic将放置文件的地方 - 以及WhiteNoise将从中提供文件的地方。第二个是存储在开发中的位置。