2

我正在尝试构建一个登录页面表单。在我的 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
4

2 回答 2

5

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

TEMPLATE_DIRS = (
   os.path.join(os.path.dirname(__file__),'../templates'),
)
于 2013-06-23T13:19:45.020 回答
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'),
)

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

于 2017-11-10T18:55:06.760 回答