Django: не удается отобразить STATIC_URL из настроек в шаблоне - PullRequest
27 голосов
/ 30 марта 2011

http://docs.djangoproject.com/en/dev/howto/static-files/

Это говорит о том, что я могу использовать STATIC_URL в своем шаблоне, чтобы получить значение из settings.py.

Шаблон выглядит следующим образом:

<link href="{{STATIC_URL}}stylesheets/tabs.css" rel="stylesheet" type="text/css"  media="screen" />

Settings.py выглядит так:

STATIC_ROOT = ''
STATIC_URL = '/static/'

Когда я перехожу на страницу, я просто получаю <link href="stylesheets/tabs.css" т.е. нет STATIC_URL.

Чего мне не хватает?

Ответы [ 2 ]

52 голосов
/ 30 марта 2011

Вы должны использовать context_instance=RequestContext(request) в вашем render_to_response, например:

return render_to_response('my_template.html',
                          my_data_dictionary,
                          context_instance=RequestContext(request))

Или используйте новый ярлык рендер

Как указал Дейв, вам следует проверить, находится ли django.core.context_processors.static в вашей переменной TEMPLATE_CONTEXT_PROCESSORS в settings.py. Как сказали в документах , он по умолчанию.

3 голосов
/ 10 февраля 2015

Не рекомендуется напрямую использовать переменную STATIC_URL.См. принятый ответ в этот вопрос

Вместо

{{STATIC_URL}}stylesheets/tabs.css

используйте

{% load staticfiles %}
{% static 'stylesheets/tabs.css' %}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...