我收到500服务器错误,因为我的静态文件似乎有问题:
我项目文件夹名称已注册,且我有用于生产和开发的不同设置文件:
register
--live-static
--register
----settings
------__init__.py
-----common.py
-----production.py
-----development.py
--live-static
--static
在我的production.py
文件中,我有:
from register.settings.common import *
import django_heroku
django_heroku.settings(locals())
DEBUG = False
STATIC_URL = '/static/'
STATICFILES_DIRS = [
os.path.join(BASE_DIR, 'static')
]
STATIC_ROOT = os.path.join(BASE_DIR, 'live-static', 'static-root')
STATICFILES_STORAGE = 'whitenoise.storage.CompressedManifestStaticFilesStorage'
MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(BASE_DIR, 'live-static', 'media-root'
我已经跑了:python manage.py collect static
heroku run python manage.py collectstatic
我得到了以下结果:1626 static files copied to '/app/live-static/static-root', 4464 post-processed.
然而,在我访问我的网站后,我得到一个错误:
raise ValueError("Missing staticfiles manifest entry for '%s'" % clean_name)
2020-09-07T19:46:28.324481+00:00 app[web.1]: ValueError: Missing staticfiles manifest entry for 'css/main.css'
在我模板中,我有{% static 'css/main.css' %}
我不知道为什么我仍然得到一个错误,因为我的收集静态已经正常工作。我会感谢任何帮助。
3条答案
按热度按时间vawmfj5a1#
从Whitenoise文档来看,您的
main.css
可能引用了其他文件:最常见的问题是有些CSS文件引用了指定路径中不存在的其他文件(通常是图像或字体)。当Django试图重写这些引用时,它会寻找相应的文件,如果找不到,就会抛出错误。
我建议您更改STATICFILES_STORAGE的值,看看它是否有效:
yptwkmov2#
对我来说,这些设置是有效的:
6jygbczu3#
它正在我的项目上工作。你可以应用这个解决方案。