我已按照django1.8使用jinja2的说明进行操作。 --->
$html = $('.media>div');
$('#search').keyup(function() {
var searchstring = $(this).val().toLowerCase();
$(".tag>i").each(function () {
var text = $(this).text().toLowerCase();
$('.media').empty().append($html);
if (text.indexOf(searchstring) > -1) {
$(this).prop("disabled", false);
} else {
$(this).closest('.col-md-12').prop("disabled", true).detach();
}
});
});
我有一个包含环境的.py文件 - >
#settings.py
TEMPLATES = [
{
'BACKEND': 'django.template.backends.jinja2.Jinja2',
'DIRS': [
normpath(join(DJANGO_ROOT, 'templates/jinja2')),
],
'APP_DIRS': True,
'OPTIONS': {
'environment': 'kuyuweb_dj_1_8.jinja2.environment',
},
},
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [],
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
'django.contrib.auth.context_processors.auth',
'django.template.context_processors.debug',
'django.template.context_processors.i18n',
'django.template.context_processors.media',
'django.template.context_processors.static',
'django.template.context_processors.tz',
'django.contrib.messages.context_processors.messages',
'django.core.context_processors.request',
],
},
},
]
在我的应用程序文件夹中我有templates / jinja2文件夹。 我创建了一个简单的视图:
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模板标记用作def home(request):
works = Work.objects.filter(publish=True).order_by('-created_at')[:8]
return render(request, 'jinja2/home.html', {'works':works })
时,它不起作用。 {{ loop.index }}
仍然有效。
有什么我想念的吗?
答案 0 :(得分:1)
您应用的jinja模板应该在yourapp/jinja2
,而不是yourapp/templates/jinja2
。
如果模板位于yourapp/jinja2/home.html
,那么您的render
行应为
return render(request, 'home.html', {'works':works })