ValueError:缺少“ favicon.ico”的静态文件清单条目

ValueError跑步的时候我得到了python manage.py test。我的项目名为fellow_go,目前正在开发一个名为的应用pickup

请注意,此错误是在相对较新的Django提交中添加的:固定#24452-固定了带有嵌套路径的HashedFilesMixin正确性。。

======================================================================

ERROR: test_view_url_exists_at_desired_location (pickup.tests.test_view.HomePageViewTest)

----------------------------------------------------------------------

Traceback (most recent call last):

File "/Users/sunqingyao/PycharmProjects/fellow_go/pickup/tests/test_view.py", line 10, in test_view_url_exists_at_desired_location

resp = self.client.get('/', follow=True)

File "/Users/sunqingyao/Envs/django_tutorial/lib/python3.6/site-packages/django/test/client.py", line 536, in get

**extra)

File "/Users/sunqingyao/Envs/django_tutorial/lib/python3.6/site-packages/django/test/client.py", line 340, in get

return self.generic('GET', path, secure=secure, **r)

File "/Users/sunqingyao/Envs/django_tutorial/lib/python3.6/site-packages/django/test/client.py", line 416, in generic

return self.request(**r)

File "/Users/sunqingyao/Envs/django_tutorial/lib/python3.6/site-packages/django/test/client.py", line 501, in request

six.reraise(*exc_info)

File "/Users/sunqingyao/Envs/django_tutorial/lib/python3.6/site-packages/django/utils/six.py", line 686, in reraise

raise value

File "/Users/sunqingyao/Envs/django_tutorial/lib/python3.6/site-packages/django/core/handlers/exception.py", line 41, in inner

response = get_response(request)

File "/Users/sunqingyao/Envs/django_tutorial/lib/python3.6/site-packages/django/core/handlers/base.py", line 217, in _get_response

response = self.process_exception_by_middleware(e, request)

File "/Users/sunqingyao/Envs/django_tutorial/lib/python3.6/site-packages/django/core/handlers/base.py", line 215, in _get_response

response = response.render()

File "/Users/sunqingyao/Envs/django_tutorial/lib/python3.6/site-packages/django/template/response.py", line 107, in render

self.content = self.rendered_content

File "/Users/sunqingyao/Envs/django_tutorial/lib/python3.6/site-packages/django/template/response.py", line 84, in rendered_content

content = template.render(context, self._request)

File "/Users/sunqingyao/Envs/django_tutorial/lib/python3.6/site-packages/django/template/backends/django.py", line 66, in render

return self.template.render(context)

File "/Users/sunqingyao/Envs/django_tutorial/lib/python3.6/site-packages/django/template/base.py", line 207, in render

return self._render(context)

File "/Users/sunqingyao/Envs/django_tutorial/lib/python3.6/site-packages/django/test/utils.py", line 107, in instrumented_test_render

return self.nodelist.render(context)

File "/Users/sunqingyao/Envs/django_tutorial/lib/python3.6/site-packages/django/template/base.py", line 990, in render

bit = node.render_annotated(context)

File "/Users/sunqingyao/Envs/django_tutorial/lib/python3.6/site-packages/django/template/base.py", line 957, in render_annotated

return self.render(context)

File "/Users/sunqingyao/Envs/django_tutorial/lib/python3.6/site-packages/django/template/loader_tags.py", line 177, in render

return compiled_parent._render(context)

File "/Users/sunqingyao/Envs/django_tutorial/lib/python3.6/site-packages/django/test/utils.py", line 107, in instrumented_test_render

return self.nodelist.render(context)

File "/Users/sunqingyao/Envs/django_tutorial/lib/python3.6/site-packages/django/template/base.py", line 990, in render

bit = node.render_annotated(context)

File "/Users/sunqingyao/Envs/django_tutorial/lib/python3.6/site-packages/django/template/base.py", line 957, in render_annotated

return self.render(context)

File "/Users/sunqingyao/Envs/django_tutorial/lib/python3.6/site-packages/django/templatetags/static.py", line 105, in render

url = self.url(context)

File "/Users/sunqingyao/Envs/django_tutorial/lib/python3.6/site-packages/django/templatetags/static.py", line 102, in url

return self.handle_simple(path)

File "/Users/sunqingyao/Envs/django_tutorial/lib/python3.6/site-packages/django/templatetags/static.py", line 117, in handle_simple

return staticfiles_storage.url(path)

File "/Users/sunqingyao/Envs/django_tutorial/lib/python3.6/site-packages/django/contrib/staticfiles/storage.py", line 162, in url

return self._url(self.stored_name, name, force)

File "/Users/sunqingyao/Envs/django_tutorial/lib/python3.6/site-packages/django/contrib/staticfiles/storage.py", line 141, in _url

hashed_name = hashed_name_func(*args)

File "/Users/sunqingyao/Envs/django_tutorial/lib/python3.6/site-packages/django/contrib/staticfiles/storage.py", line 432, in stored_name

raise ValueError("Missing staticfiles manifest entry for '%s'" % clean_name)

ValueError: Missing staticfiles manifest entry for 'favicon.ico'

----------------------------------------------------------------------

fellow_go / settings.py

STATIC_ROOT = os.path.join(BASE_DIR, 'staticfiles')

STATIC_URL = '/static/'

STATICFILES_DIRS = [

os.path.join(BASE_DIR, "static"),

]

# ......

# Simplified static file serving.

# https://warehouse.python.org/project/whitenoise/

STATICFILES_STORAGE = 'whitenoise.django.GzipManifestStaticFilesStorage'

assistant_go / urls.py

urlpatterns = i18n_patterns(

url(r'^$', HomePageView.as_view(), name='index'),

url(r'^pickup/', include('pickup.urls')),

url(r'^accounts/', include('django.contrib.auth.urls')),

url(r'^admin/', admin.site.urls),

prefix_default_language=False

) + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)

assistant_go / pickup / views.py

class HomePageView(TemplateView):

template_name = 'index.html'

assistant_go / templates / index.html

<link rel="icon" href="{% static "favicon.ico" %}">

fellow_go / pickup / tests / test_view.py

class HomePageViewTest(TestCase):

def test_view_url_exists_at_desired_location(self):

resp = self.client.get('/', follow=True)

self.assertEqual(resp.status_code, 200)

我有一个favicon.ico文件:

奇怪的是,没有错误发生python manage.py runserver:

/Users/sunqingyao/Envs/django_tutorial/bin/python3.6 /Users/sunqingyao/PycharmProjects/fellow_go/manage.py runserver 8000

Performing system checks...

System check identified no issues (0 silenced).

May 24, 2017 - 22:09:25

Django version 1.11.1, using settings 'fellow_go.settings'

Starting development server at http://127.0.0.1:8000/

Quit the server with CONTROL-C.

[24/May/2017 22:09:28] "GET / HTTP/1.1" 200 6276

[24/May/2017 22:09:28] "GET /static/css/style.min.css HTTP/1.1" 200 2474

[24/May/2017 22:09:28] "GET /static/css/ie10-viewport-bug-workaround.css HTTP/1.1" 200 430

[24/May/2017 22:09:28] "GET /static/js/ie10-viewport-bug-workaround.js HTTP/1.1" 200 685

[24/May/2017 22:09:28] "GET /static/js/opt-in.js HTTP/1.1" 200 511

[24/May/2017 22:09:28] "GET /static/css/datetimepicker.css HTTP/1.1" 200 12351

[24/May/2017 22:09:28] "GET /static/js/bootstrap-datetimepicker.js HTTP/1.1" 200 55741

[24/May/2017 22:09:35] "GET /static/favicon.ico HTTP/1.1" 200 766

Not Found: /apple-touch-icon-precomposed.png

[24/May/2017 22:09:35] "GET /apple-touch-icon-precomposed.png HTTP/1.1" 404 2678

Not Found: /apple-touch-icon.png

[24/May/2017 22:09:35] "GET /apple-touch-icon.png HTTP/1.1" 404 2642

请告诉我我的代码有什么问题。

回答:

尝试运行:

python manage.py collectstatic

现在可以测试了吗?如果是这样,则可能是引起问题的配置:

STATICFILES_STORAGE = 'whitenoise.django.GzipManifestStaticFilesStorage'

以上是 ValueError:缺少“ favicon.ico”的静态文件清单条目 的全部内容, 来源链接: utcz.com/qa/421890.html

回到顶部