gpt4 book ai didi

django - Jinja2在Django项目中抛出templatedoesnotexist错误

转载 作者:行者123 更新时间:2023-12-02 01:17:54 24 4
gpt4 key购买 nike

我正在尝试在我的 Django 项目(1.10 版)中使用 jinja2。设置后,一旦我尝试运行项目,我得到 TemplateDoesNotExist at /base/index.html

Template-loader postmortem

Django tried loading these templates, in this order:

Using engine jinja2:
This engine did not provide a list of tried templates.

templates文件夹,我有一个放置 index.html 的基本目录。此外,如果我使用 Django 的模板引擎,同样的文件夹结构可以完美运行。我该如何解决这个问题?

我的配置如下:

settings.py (请注意,我故意排除了 Django 模板后备):
TEMPLATES = [
{
'BACKEND': 'django.template.backends.jinja2.Jinja2',
'DIRS': [os.path.join(BASE_DIR, 'templates')],
'APP_DIRS': True,
'OPTIONS': {'environment': 'uberfordoc.jinja2.environment',
},
},
]

我还有一个名为 jinja2.py 的文件保存在项目文件夹中:
from __future__ import absolute_import 
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

最佳答案

这是我在 settings.py 中的 BASE_DIR 和 MAIN_DIR

BASE_DIR = os.path.dirname(os.path.abspath(__file__))
MAIN_DIR = os.path.dirname(os.path.dirname(__file__))

我的 jinja2 模板在路径上

/Users/用户名/桌面/uberfordoc/templates/jinja2

改变了
'DIRS': [os.path.join(BASE_DIR, 'templates')],


'DIRS': [os.path.join(MAIN_DIR, 'templates/jinja2')],

它奏效了。感谢@Timbadu 通过打印得到提示
print os.path.join(BASE_DIR, 'templates')

关于django - Jinja2在Django项目中抛出templatedoesnotexist错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41747053/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com