【问题标题】:TemplateDoesNotExist Django ErrorTemplateDoesNotExist Django 错误
【发布时间】:2013-06-20 02:39:42
【问题描述】:

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

【问题讨论】:

标签: django


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

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

    // _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'),
    )
    

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

    【讨论】:

      猜你喜欢
      • 2014-02-19
      • 2015-09-02
      • 2012-12-18
      • 1970-01-01
      • 2021-12-28
      • 2011-07-18
      • 2014-05-27
      • 1970-01-01
      • 2017-11-03
      相关资源
      最近更新 更多