2017-05-24 17 views
5

के लिए अनुपलब्ध staticfiles प्रकट प्रविष्टि python manage.py test चलाते समय मुझे ValueError मिल रहा है। मेरी परियोजना का नाम fellow_go है, और मैं वर्तमान में pickup नामक ऐप पर काम कर रहा हूं।ValueError: 'favicon.ico'

कृपया ध्यान दें कि यह त्रुटि Django को अपेक्षाकृत हाल ही में प्रतिबद्ध प्रतिबद्धता में जोड़ा गया है: Fixed #24452 -- Fixed HashedFilesMixin correctness with nested paths.

====================================================================== 
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' 

fellow_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) 

fellow_go/pickup/views.py

class HomePageView(TemplateView): 

    template_name = 'index.html' 

fellow_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 फ़ाइल है:

enter image description here


अजीब, कोई त्रुटि 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 

कृपया मुझे बताओ कि मेरी कोड।

उत्तर

16

प्रयास चल रहा है:

python manage.py collectstatic 

अब परीक्षण काम करता है?

STATICFILES_STORAGE = 'whitenoise.django.GzipManifestStaticFilesStorage' 

संबंधित: यदि हां, तो इस विन्यास से समस्या हो रही हो सकता है https://docs.djangoproject.com/en/1.11/ref/contrib/staticfiles/#django.contrib.staticfiles.storage.ManifestStaticFilesStorage.manifest_strict

:
https://stackoverflow.com/a/32347324/2596187

Django प्रलेखन बाहर की जाँच करें

संबंधित मुद्दे