kbd*_*dev 1 versioning django caching internal-server-error wagtail
我正在尝试通过ManifestStaticFilesStorage. 当我上传到我的舞台服务器时,我得到一个Internal Server Error. 知道会发生什么吗?
我的base.py是我的基础设置,stage.py是我的舞台设置。回溯也包含在下面。
\n\n基础.py
\n\nPROJECT_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))\nBASE_DIR = os.path.dirname(PROJECT_DIR)\n\nSTATICFILES_FINDERS = [\n 'django.contrib.staticfiles.finders.FileSystemFinder',\n 'django.contrib.staticfiles.finders.AppDirectoriesFinder',\n]\n\nSTATICFILES_DIRS = [\n os.path.join(PROJECT_DIR, 'assets'),\n]\n\nSTATICFILES_STORAGE = 'django.contrib.staticfiles.storage.StaticFilesStorage'\n\nSTATIC_ROOT = os.path.join(BASE_DIR, 'static')\nSTATIC_URL = '/static/'\nRun Code Online (Sandbox Code Playgroud)\n\n阶段.py
\n\nDEBUG = False\n\nSTATIC_ROOT = '/data/web/stage.sitename.com/web/static/'\nSTATIC_URL = '/static/'\n\nSTATICFILES_STORAGE = 'django.contrib.staticfiles.storage.ManifestStaticFilesStorage'\nRun Code Online (Sandbox Code Playgroud)\n\n追溯:
\n\nFile \xe2\x80\x9c/data/virtualenv/sitename/lib/python2.7/site-packages/django/core/handlers/exception.py\xe2\x80\x9d in get_exception_response\n\n98. response = callback(request, **dict(param_dict, exception=exception))\nFile \xe2\x80\x9c/data/virtualenv/sitename/lib/python2.7/site-packages/newrelic-2.70.0.51/newrelic/hooks/framework_django.py\xe2\x80\x9d in wrapper\n\n503. return wrapped(*args, **kwargs)\nFile \xe2\x80\x9c/data/virtualenv/sitename/lib/python2.7/site-packages/django/utils/decorators.py\xe2\x80\x9d in _wrapped_view\n\n149. response = view_func(request, *args, **kwargs)\nFile \xe2\x80\x9c/data/virtualenv/sitename/lib/python2.7/site-packages/django/views/defaults.py\xe2\x80\x9d in page_not_found\n\n45. body = template.render(context, request)\nFile \xe2\x80\x9c/data/virtualenv/sitename/lib/python2.7/site-packages/django/template/backends/django.py\xe2\x80\x9d in render\n\n66. return self.template.render(context)\nFile \xe2\x80\x9c/data/virtualenv/sitename/lib/python2.7/site-packages/django/template/base.py\xe2\x80\x9d in render\n\n208. return self._render(context)\nFile \xe2\x80\x9c/data/virtualenv/sitename/lib/python2.7/site-packages/newrelic-2.70.0.51/newrelic/api/function_trace.py\xe2\x80\x9d in dynamic_wrapper\n\n98. return wrapped(*args, **kwargs)\nFile \xe2\x80\x9c/data/virtualenv/sitename/lib/python2.7/site-packages/django/template/base.py\xe2\x80\x9d in _render\n\n199. return self.nodelist.render(context)\nFile \xe2\x80\x9c/data/virtualenv/sitename/lib/python2.7/site-packages/django/template/base.py\xe2\x80\x9d in render\n\n994. bit = node.render_annotated(context)\nFile \xe2\x80\x9c/data/virtualenv/sitename/lib/python2.7/site-packages/django/template/base.py\xe2\x80\x9d in render_annotated\n\n961. return self.render(context)\nFile \xe2\x80\x9c/data/virtualenv/sitename/lib/python2.7/site-packages/django/template/loader_tags.py\xe2\x80\x9d in render\n\n174. return compiled_parent._render(context)\nFile \xe2\x80\x9c/data/virtualenv/sitename/lib/python2.7/site-packages/newrelic-2.70.0.51/newrelic/api/function_trace.py\xe2\x80\x9d in dynamic_wrapper\n\n98. return wrapped(*args, **kwargs)\nFile \xe2\x80\x9c/data/virtualenv/sitename/lib/python2.7/site-packages/django/template/base.py\xe2\x80\x9d in _render\n\n199. return self.nodelist.render(context)\nFile \xe2\x80\x9c/data/virtualenv/sitename/lib/python2.7/site-packages/django/template/base.py\xe2\x80\x9d in render\n\n994. bit = node.render_annotated(context)\nFile \xe2\x80\x9c/data/virtualenv/sitename/lib/python2.7/site-packages/django/template/base.py\xe2\x80\x9d in render_annotated\n\n961. return self.render(context)\nFile \xe2\x80\x9c/data/virtualenv/sitename/lib/python2.7/site-packages/django/template/loader_tags.py\xe2\x80\x9d in render\n\n210. return template.render(context)\nFile \xe2\x80\x9c/data/virtualenv/sitename/lib/python2.7/site-packages/django/template/base.py\xe2\x80\x9d in render\n\n210. return self._render(context)\nFile \xe2\x80\x9c/data/virtualenv/sitename/lib/python2.7/site-packages/newrelic-2.70.0.51/newrelic/api/function_trace.py\xe2\x80\x9d in dynamic_wrapper\n\n98. return wrapped(*args, **kwargs)\nFile \xe2\x80\x9c/data/virtualenv/sitename/lib/python2.7/site-packages/django/template/base.py\xe2\x80\x9d in _render\n\n199. return self.nodelist.render(context)\nFile \xe2\x80\x9c/data/virtualenv/sitename/lib/python2.7/site-packages/django/template/base.py\xe2\x80\x9d in render\n\n994. bit = node.render_annotated(context)\nFile \xe2\x80\x9c/data/virtualenv/sitename/lib/python2.7/site-packages/django/template/base.py\xe2\x80\x9d in render_annotated\n\n961. return self.render(context)\nFile \xe2\x80\x9c/data/virtualenv/sitename/lib/python2.7/site-packages/django/templatetags/static.py\xe2\x80\x9d in render\n\n104. url = self.url(context)\nFile \xe2\x80\x9c/data/virtualenv/sitename/lib/python2.7/site-packages/django/templatetags/static.py\xe2\x80\x9d in url\n\n101. return self.handle_simple(path)\nFile \xe2\x80\x9c/data/virtualenv/sitename/lib/python2.7/site-packages/django/templatetags/static.py\xe2\x80\x9d in handle_simple\n\n114. return staticfiles_storage.url(path)\nFile \xe2\x80\x9c/data/virtualenv/sitename/lib/python2.7/site-packages/django/contrib/staticfiles/storage.py\xe2\x80\x9d in url\n\n132. hashed_name = self.stored_name(clean_name)\nFile \xe2\x80\x9c/data/virtualenv/sitename/lib/python2.7/site-packages/django/contrib/staticfiles/storage.py\xe2\x80\x9d in stored_name\n\n292. cache_name = self.clean_name(self.hashed_name(name))\nFile \xe2\x80\x9c/data/virtualenv/sitename/lib/python2.7/site-packages/django/contrib/staticfiles/storage.py\xe2\x80\x9d in hashed_name\n\n95. (clean_name, self))\nException Type: ValueError at /favicon.ico Exception Value: The file \xe2\x80\x98build/img/favicon.ico\xe2\x80\x99 could not be found with <django.contrib.staticfiles.storage.ManifestStaticFilesStorage object at 0x7fee94178190>. Request information: USER: AnonymousUser\nRun Code Online (Sandbox Code Playgroud)\n
错误是因为设置的原因
STATICFILES_STORAGE = 'django.contrib.staticfiles.storage.ManifestStaticFilesStorage'
Run Code Online (Sandbox Code Playgroud)
如果我们在生产中使用它,我们必须确保我们在项目中使用的每个静态资源都应该可用。如果我们错过任何资产,就会收到错误Missing staticfiles manifest entry。
要修复首先在运行以下命令后DEBUG=False设置的错误。settings.py
python manage.py collectstatic --clear --noinput
Run Code Online (Sandbox Code Playgroud)
执行上述命令后,它将显示明显的错误。尝试修复错误并再次运行命令。重复同样的操作,直到成功运行且不抛出错误。