Reputation: 3215
How come my static files don't serve? or only some of them I can't tell. I have tried just about everything. and I don't know where the problem is. I need support for getting my staticfiles to work during development and production. but help me with development first please
I am trying to get my staticfiles to work, and i get this error
Django version 1.4.3, using settings 'menu.settings'
Development server is running at http://127.0.0.1:8000/
Quit the server with CONTROL-C.
[10/Mar/2013 15:12:37] "GET / HTTP/1.1" 200 1868
Traceback (most recent call last):
File "/usr/lib/python2.7/wsgiref/handlers.py", line 85, in run
self.result = application(self.environ, self.start_response)
File "/home/talisman/virt_env/menu/local/lib/python2.7/site-packages/staticfiles/handlers.py", line 68, in __call__
start_response)
File "/home/talisman/virt_env/menu/local/lib/python2.7/site-packages/Django-1.4.3-py2.7.egg/django/core/handlers/wsgi.py", line 241, in __call__
response = self.get_response(request)
File "/home/talisman/virt_env/menu/local/lib/python2.7/site-packages/staticfiles/handlers.py", line 57, in get_response
return self.serve(request)
File "/home/talisman/virt_env/menu/local/lib/python2.7/site-packages/staticfiles/handlers.py", line 50, in serve
return serve(request, self.file_path(request.path), insecure=True)
File "/home/talisman/virt_env/menu/local/lib/python2.7/site-packages/staticfiles/views.py", line 36, in serve
absolute_path = finders.find(normalized_path)
File "/home/talisman/virt_env/menu/local/lib/python2.7/site-packages/staticfiles/finders.py", line 238, in find
for finder in get_finders():
File "/home/talisman/virt_env/menu/local/lib/python2.7/site-packages/staticfiles/finders.py", line 256, in get_finders
yield get_finder(finder_path)
File "/home/talisman/virt_env/menu/local/lib/python2.7/site-packages/Django-1.4.3-py2.7.egg/django/utils/functional.py", line 27, in wrapper
result = func(*args)
File "/home/talisman/virt_env/menu/local/lib/python2.7/site-packages/staticfiles/finders.py", line 277, in _get_finder
(Finder, BaseFinder))
ImproperlyConfigured: Finder "<class 'django.contrib.staticfiles.finders.FileSystemFinder'>" is not a subclass of "<class 'staticfiles.finders.BaseFinder'>"
[10/Mar/2013 15:12:37] "GET /static/css/screen.css HTTP/1.1" 500 59
Traceback (most recent call last):
File "/usr/lib/python2.7/wsgiref/handlers.py", line 85, in run
self.result = application(self.environ, self.start_response)
File "/home/talisman/virt_env/menu/local/lib/python2.7/site-packages/staticfiles/handlers.py", line 68, in __call__
start_response)
File "/home/talisman/virt_env/menu/local/lib/python2.7/site-packages/Django-1.4.3-py2.7.egg/django/core/handlers/wsgi.py", line 241, in __call__
response = self.get_response(request)
File "/home/talisman/virt_env/menu/local/lib/python2.7/site-packages/staticfiles/handlers.py", line 57, in get_response
return self.serve(request)
File "/home/talisman/virt_env/menu/local/lib/python2.7/site-packages/staticfiles/handlers.py", line 50, in serve
return serve(request, self.file_path(request.path), insecure=True)
File "/home/talisman/virt_env/menu/local/lib/python2.7/site-packages/staticfiles/views.py", line 36, in serve
absolute_path = finders.find(normalized_path)
File "/home/talisman/virt_env/menu/local/lib/python2.7/site-packages/staticfiles/finders.py", line 238, in find
for finder in get_finders():
File "/home/talisman/virt_env/menu/local/lib/python2.7/site-packages/staticfiles/finders.py", line 256, in get_finders
yield get_finder(finder_path)
File "/home/talisman/virt_env/menu/local/lib/python2.7/site-packages/Django-1.4.3-py2.7.egg/django/utils/functional.py", line 27, in wrapper
result = func(*args)
File "/home/talisman/virt_env/menu/local/lib/python2.7/site-packages/staticfiles/finders.py", line 277, in _get_finder
(Finder, BaseFinder))
ImproperlyConfigured: Finder "<class 'django.contrib.staticfiles.finders.FileSystemFinder'>" is not a subclass of "<class 'staticfiles.finders.BaseFinder'>"
[10/Mar/2013 15:12:37] "GET /static/css/print.css HTTP/1.1" 500 59
this is my settings.py
if socket.gethostname() == 'Pangolin': #Brian's Development Laptop
DEBUG = TEMPLATE_DEBUG = True
TEMPLATE_DIRS = ('/home/talisman/projects/menu/templates',)
SQL_LITE_NAME = '/home/talisman/projects/menu/db4.db'
STATIC_ROOT = '/home/talisman/projects/menu/static/'
STATICFILES_DIRS = (
# Put strings here, like "/home/html/static" or "C:/www/django/static".
# Always use forward slashes, even on Windows.
# Don't forget to use absolute paths, not relative paths.
'/home/talisman/projects/menu/staticfiles/',
)
Upvotes: 3
Views: 1548
Reputation: 8354
You have misconfigured staticfiles in your settings maybe?
STATICFILES_FINDERS = (
'django.contrib.staticfiles.finders.FileSystemFinder',
'django.contrib.staticfiles.finders.AppDirectoriesFinder',
)
make sure you have the context processor:
TEMPLATE_CONTEXT_PROCESSORS = [
...
'django.core.context_processors.static',
...
]
Also don't use paths like that, used to provide absolute paths...
from os.path import join, dirname, normpath
LOCAL_PATH = normpath(join(dirname(__file__), '..'))
then you can do...
# Additional locations of static files
STATICFILES_DIRS = (
LOCAL_PATH + '/public/common/',
)
=========
here is an example of how I set mine up
MEDIA_ROOT = ''
MEDIA_URL = ''
STATIC_ROOT = '/uploaded/'
STATIC_URL = '/static/'
# Additional locations of static files
STATICFILES_DIRS = (
LOCAL_PATH + '/public/common/',
)
# List of finder classes that know how to find static files in
# various locations.
STATICFILES_FINDERS = (
'django.contrib.staticfiles.finders.FileSystemFinder',
'django.contrib.staticfiles.finders.AppDirectoriesFinder',
# 'django.contrib.staticfiles.finders.DefaultStorageFinder',
)
In my installed apps I make sure I have
'django.contrib.staticfiles',
Upvotes: 3