Django找不到模板 - 民意调查应用程序第3部分

时间:2013-02-02 00:05:51

标签: python django django-templates django-views

我正在关注民意调查应用教程第3部分,我无法找到模板

这是确切的错误

polls/index.html
Request Method: GET
Request URL:    http://localhost:8000/polls/
Django Version: 1.4.3
Exception Type: TemplateDoesNotExist
Exception Value:    
polls/index.html
Exception Location: c:\Python27\lib\site-packages\django\template\loader.py in find_template, line 138
Python Executable:  c:\Python27\python.exe
Python Version: 2.7.2

所以在我的settings.py中,我把目录放在那里。 " C:/脚本/ mysite的/模板"并创建了/polls/index.html

TEMPLATE_DIRS = (
    # Put strings here, like "/home/html/django_templates" or "C:/www/django/templates".
    # Always use forward slashes, even on Windows.
    # Don't forget to use absolute paths, not relative paths.
    "C:/Scripts/template"
    "C:/Scripts/mysite/template"
)

它出于某种原因无法找到它。有任何想法吗? 这是本教程的准确说明。

  

在文件系统的某个位置创建一个目录,Django可以访问其中的内容。 (Django以您的服务器运行的任何用户身份运行。)

2 个答案:

答案 0 :(得分:2)

你在第一行末尾错过了一个逗号:

"C:/Scripts/template",   # <--- HERE
"C:/Scripts/mysite/template"

没有它,Python自动连接两个字符串(因为它们在parens中),所以它只是变成"C:/Scripts/templateC:/Scripts/mysite/template"

答案 1 :(得分:1)

调试

  1. 从您的应用程序主文件夹中运行以下命令:python manage.py shell这将使用设置文件引导您的应用程序。
  2. 输入from django.conf import settings并按Enter
  3. 输入settings.TEMPLATE_DIRS并检查输出。您是否看到了您指定的模板目录?
  4. 相对于settings.py文件的绝对路径

    我通常使用相对于settings.py文件的绝对路径。这样,协作者可以共享主设置文件,无论您部署到路径的系统/环境是否正确。

    这样做:

    # settings.py
    import os
    
    # ... other settings
    
    TEMPLATE_DIRS = (
        os.path.join(os.path.normpath(os.path.dirname(__file__)), 'templates'),
    )
    

    如果调试步骤没有帮助,请告诉我,我会尝试提供更多帮助。