[Django]-Django template can't see CSS files

13👍

in the “development only” block in your urls.py you need to change

(r'^media/(?P<path>.*)$', 'django.views.static.serve',
    {'document_root': '/media'}),

to…

(r'^media/(?P<path>.*)$', 'django.views.static.serve',
    {'document_root': settings.MEDIA_ROOT}),
👤Jiaaro

5👍

ADMIN_MEDIA_PREFIX is set to \media\ by default, and is probably ‘stealing’ the path. Change that setting, or use a different one for non-admin media – eg site_media or assets.

2👍

On the dev server, I like to cheat and put the following in my urls.py

if settings.DEBUG:
    urlpatterns += patterns('',
        (r'^includes/(?P<path>.*)$', 'django.views.static.serve', {'document_root': '/path/to/static/files'}),
    )

That way anything in the project under the “/includes” folder is server by the dev server. You could just change that to “/media”.

👤Tom

1👍

It also worked for me, thanks guys !!

settings.py

MEDIA_ROOT = '/home/pi/ewspaces/ws-classic/xima/media'

MEDIA_URL = '/statics/'

urls.py

if settings.DEBUG:
urlpatterns += patterns('',
    (r'^statics/(?P<path>.*)$', 'django.views.static.serve',  
     {'document_root':     settings.MEDIA_ROOT}),
)

inside templates:

<link type="text/css" href="/statics/css/base/jquery.ui.all.css" rel="stylesheet" />

0👍

I had a similar problem when I was trying to get jQuery to work. My fix was to add an alias to my Apache httpd.conf file that pointed to the folder containing the .js. You could do the same with your CSS folder.

Leave a comment