Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Django STATIC_URL is not working

Django version is 1.4. I had read the official document, and googled my problem.

first I had followed the official document Managing static files added this in settings.py:

TEMPLATE_CONTEXT_PROCESSORS = (
  'django.core.context_processors.debug',
  'django.core.context_processors.i18n',
  'django.core.context_processors.media',
  'django.core.context_processors.static',
  'django.contrib.auth.context_processors.auth',
  'django.contrib.messages.context_processors.messages',
)

In my template:

<link href="{{ STATIC_URL }}css/main.css" ...>

but, in my broswer is:

<link href="css/main.css" ...> (Just render `STATIC_URL` as empty)

My settings is:

STATIC_ROOT = os.path.join(PROJECT_PATH, 'static')
STATIC_URL = '/static/'

in my views

def register(request):
    ...
    return render_to_response('register.html', {'errors':errors})
like image 556
thlgood Avatar asked Jul 27 '12 08:07

thlgood


2 Answers

Change

return render_to_response('register.html', 'errors':errors)

to

return render_to_response('register.html', {'errors': errors}, RequestContext(request))
like image 183
Pascal Avatar answered Oct 12 '22 00:10

Pascal


In Django 1.4 you should use static templatetag1.

Try:

{% load staticfiles %}
<link href="{% static "css/main.css" %} ...>
like image 40
seler Avatar answered Oct 11 '22 23:10

seler