Opened 6 years ago

Last modified 6 years ago

#29353 closed Bug

Static files path cannot be the same as directory name? — at Initial Version

Reported by: koxu1996 Owned by: nobody
Component: contrib.staticfiles Version: 2.0
Severity: Normal Keywords: staticfiles middleware_chain
Cc: Triage Stage: Ready for checkin
Has patch: yes Needs documentation: no
Needs tests: no Patch needs improvement: no
Easy pickings: no UI/UX: no

Description

I created functional_tests directory with empty init.py and test_all.py containing following code:

from django.test import LiveServerTestCase
from selenium import webdriver


class DemoTest(LiveServerTestCase):

    def test_can_get_empty_list_of_server_seeds(self):
        self.browser = webdriver.Firefox()
        
        print('Before page open')
        self.browser.get(self.live_server_url + '/')
        print('After page open')

        self.assertEqual(1, 1)

        self.browser.quit()

Running it with 'python manage.py test functional_tests/' result with success:

...
Before page open
After page open
.
----------------------------------------------------------------------
Ran 1 test in 7.048s

OK
...

But if I change LiveServerTestCase to StaticLiveServerTestCase then I am getting strange error:

$ python manage.py test functional_tests/
Creating test database for alias 'default'...
System check identified no issues (0 silenced).
Before page open
Traceback (most recent call last):
  File "/usr/lib/python3.6/wsgiref/handlers.py", line 137, in run
    self.result = application(self.environ, self.start_response)
  File "/usr/lib/python3.6/site-packages/django/contrib/staticfiles/handlers.py", line 67, in __call__                                                                                        
    return super().__call__(environ, start_response)
  File "/usr/lib/python3.6/site-packages/django/core/handlers/wsgi.py", line 146, in __call__
    response = self.get_response(request)
  File "/usr/lib/python3.6/site-packages/django/contrib/staticfiles/handlers.py", line 62, in get_response                                                                                    
    return super().get_response(request)
  File "/usr/lib/python3.6/site-packages/django/core/handlers/base.py", line 81, in get_response                                                                                              
    response = self._middleware_chain(request)
TypeError: 'NoneType' object is not callable
Traceback (most recent call last):
  File "/usr/lib/python3.6/wsgiref/handlers.py", line 137, in run
    self.result = application(self.environ, self.start_response)
  File "/usr/lib/python3.6/site-packages/django/contrib/staticfiles/handlers.py", line 67, in __call__                                                                                        
    return super().__call__(environ, start_response)
  File "/usr/lib/python3.6/site-packages/django/core/handlers/wsgi.py", line 146, in __call__
    response = self.get_response(request)
  File "/usr/lib/python3.6/site-packages/django/contrib/staticfiles/handlers.py", line 62, in get_response                                                                                    
    return super().get_response(request)
  File "/usr/lib/python3.6/site-packages/django/core/handlers/base.py", line 81, in get_response                                                                                              
    response = self._middleware_chain(request)
TypeError: 'NoneType' object is not callable
After page open
.
----------------------------------------------------------------------
Ran 1 test in 6.659s

OK
Destroying test database for alias 'default'...

This is my part of my settings:

STATIC_URL = '/static/'
STATIC_ROOT = "/var/www/html/casino/static/"

It seems that url path cannot have the same name, because if I change STATIC_URL or STATIC_ROOT then everything works fine.

Change History (0)

Note: See TracTickets for help on using tickets.
Back to Top