我收到 500 服务器错误,因为我的静态文件似乎存在问题:
我的项目文件夹名称是register,我有不同的用于生产和开发的设置文件:
register
--live-static
--register
----settings
------__init__.py
-----common.py
-----production.py
-----development.py
--live-static
--static
Run Code Online (Sandbox Code Playgroud)
在我的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'
Run Code Online (Sandbox Code Playgroud)
我已经跑过:
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'
Run Code Online (Sandbox Code Playgroud)
在我的模板中我有{% static 'css/main.css' %}
我不知道为什么我仍然收到错误,因为我的收集静态已经正常工作。我将不胜感激任何帮助。
小智 15
从Whitenoise 文档来看,您main.css可能引用了其他文件:
\n\n最常见的问题是,有些 CSS 文件引用了其他文件(通常是图像或字体),而这些文件在指定路径中不存在\xe2\x80\x99。当 Django 尝试重写这些引用时,它会查找相应的文件,如果无法\xe2\x80\x99 找到它,则会抛出错误。
\n
我建议您更改 STATICFILES_STORAGE 的值并查看它是否有效:
\n+ STATICFILES_STORAGE = \'whitenoise.storage.CompressedStaticFilesStorage\'\n- STATICFILES_STORAGE = \'whitenoise.storage.CompressedManifestStaticFilesStorage\'\nRun Code Online (Sandbox Code Playgroud)\n
| 归档时间: |
|
| 查看次数: |
4385 次 |
| 最近记录: |