Python Django:Can';使用Jinja2作为引擎时找不到模板
我使用的是Django 1.8,它允许您切换Jinja2的Django模板引擎 我的设置中有以下内容。pyPython Django:Can';使用Jinja2作为引擎时找不到模板,python,django,django-templates,jinja2,Python,Django,Django Templates,Jinja2,我使用的是Django 1.8,它允许您切换Jinja2的Django模板引擎 我的设置中有以下内容。py TEMPLATES = [{ 'BACKEND': 'django.template.backends.jinja2.Jinja2', 'DIRS': [ os.path.join(BASE_DIR, 'templates/jinja2'), ], 'APP_DIRS': True, 'OPTIONS': { 'env
TEMPLATES = [{
'BACKEND': 'django.template.backends.jinja2.Jinja2',
'DIRS': [
os.path.join(BASE_DIR, 'templates/jinja2'),
],
'APP_DIRS': True,
'OPTIONS': {
'environment': 'appname.jinja2.environment',
},
},]
我基本上是在使用中的说明,只是我试图让引擎在每个附加应用程序的templates文件夹中查找模板。所以
├── myproject
│ ├── __init__.py
│ ├── jinja2.py
│ ├── settings.py
│ ├── urls.py
│ └── wsgi.py
├── app2
│ ├── __init__.py
│ └── other app stuff ...
├── templates
│ └── jinja2
│ └── app2
│ └── template.html
├── manage.py
├── templates
│ └── jinja2
│ ├── something.html
这两个应用都已安装:
INSTALLED_APPS = (
...
'myproject',
'app2',
)
myproject/jinja2.py包含:
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
但是,当我使用
from django.template.loader import get_template
template = get_template('app2/template.html')
我试着添加
TEMPLATE_LOADERS = (
'django.template.loaders.filesystem.Loader',
'django.template.loaders.app_directories.Loader',
)
尝试将{'loader':loader}
添加到'OPTIONS',其中loader是来自django.template.loaders.app_目录的导入loader
,以及使用一些Jinja2加载程序。没有一个奏效
如果我将DjangoTemplates引擎添加为辅助引擎,它将查找该模板。金甲2号没有。以前,Debug Traceback屏幕显示只使用了django.template.loaders.filesystem.Loader
(就在下面,上面写着Traceback切换到复制粘贴视图),但现在它没有告诉我任何事情
我正在使用Windows和开发服务器(manage.py runserver
)。我在settings.py中没有任何TEMPLATE\u DIRS
(尽管将特定的应用程序模板目录硬编码到TEMPLATE\u DIRS
中也没有解决问题;事实上,我收到了警告Django 1.8中不推荐使用独立模板设置,
当我删除此设置时,我没有问题(0静音))
在我的回溯中,我没有发现以下情况之一:
Template Loader Error:
Django tried loading these templates, in this order:
Using loader django.template.loaders.filesystem.Loader:
Using loader django.template.loaders.app_directories.Loader:
查看:
我没有主意了。帮助。
environment:appname.jinja.environment
,本节,请尝试environment:appname.jinja2.environment
,您将e拼写错误为capitol e,并添加了jinja2而不是jinja。我的错误,但这些错误只存在于问题中,不在我的代码中。但您的模板路径不在app2/template.html
中,它是jinja2/app2/template.html