TemplateDoesNotExist Django错误

时间:2013-06-23 13:14:59

标签: django

我正在尝试构建一个登录页面表单。在我的urls.py中,我将文件链接到内置的Django登录视图,并将路径传递给模板目录。我在登录文件夹里面的模板和login.html文件中有登录文件夹。

(r'^login/$', 'django.contrib.auth.views.login', {
'template_name': 'login/login.html'
}),

在settings.py中,我提供了存储模板的目录。

TEMPLATE_DIRS = (
os.path.join(os.path.dirname(__file__),'templates'),
)

当我运行runserver命令时,它显示TemplateDoesNotExist

Exception Type: TemplateDoesNotExist
Exception Value:login/login.html

2 个答案:

答案 0 :(得分:5)

对于遇到相同问题的任何人,事实证明模板路径不正确。我需要在settings.py中使用'../templates'而不是'templates'

TEMPLATE_DIRS = (
   os.path.join(os.path.dirname(__file__),'../templates'),
)

答案 1 :(得分:1)

更好的方法是在另一个设置文件中定义您的目录,以减少在模板目录中使用丑陋的相对路径的需要:

// _paths.py
SETTINGS_DIR = os.path.dirname(__file__)

// _templates.py
from settings/_paths.py import SETTINGS_DIR

TEMPLATE_DIRS = (
    os.path.join(SETTINGS_DIR, 'templates'),
)

根据您的文件夹结构进行相应调整。