согласно инструкциям на Django 1.9 tutorial я добавил еще один файл в корневом каталоге проекта с параметрами окружающей среды -Jinja2 шаблонный не работает в в Django 1.9
from __future__ import absolute_import # Python 2 only
from django.contrib.staticfiles.storage import staticfiles_storage
from django.core.urlresolvers import reverse
from jinja2 import Environment
def environment(**options):
env = Environment(**options)
env.globals.update({
'static': staticfiles_storage.url,
'url': reverse,
})
return env`
(Предоставленный загрузить соответствующий jinja2
мне пришлось переименовать файл что-то по-другому, в этом случае jinja2env.py
в корне проекта)
И я обновил settings.py
с новым шаблонного бэкэндом:
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [os.path.join(PROJECT_ROOT, 'templates').replace('\\','/')],
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
'django.template.context_processors.debug',
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
],
},
},
{
'BACKEND': "django.template.backends.jinja2.Jinja2",
'DIRS': [os.path.join(PROJECT_PATH, 'campaigns/templates').replace('\\','/')],
"APP_DIRS": True,
"OPTIONS": {
'environment': 'jinja2env.Environment',
}
},
В представлении я работаю, я использую параметр using
указать jinja2
шаблонизатор:
return render(request, 'jinja2/index.html', context={'projects': projects, 'counter': 0}, status=200, using='jinja2')
Тем не менее, когда шаблон переходит к визуализации я следующие ошибки: 'static' is undefined
. Очевидно, что моя установка неправильная или я не делаю что-то правильное. Шаблон начинается таким образом:
<link rel="stylesheet" type="text/css" href="{{ static('stylesheets/main.css') }}">
Что я делаю неправильно? Я не использую {% load static %}
, так как это не шаблон Django ... так что я в недоумении.
Ничего себе. Любите эти ошибки капитализации. (Ха - не совсем. Бедные читатели с моей стороны!) Спасибо! –