Django报错解决:TemplateDoesNotExist at /polls/

1. 问题介绍

在Django4.1的官网教程——编写你的第一个 Django 应用,第 3 部分,按部就班地走下来,会报错:

Django报错解决:TemplateDoesNotExist at /polls/_第1张图片

 下面还有提示:

2. 问题思考

从提示得知,是我们写的django-mysite(工程名)/templates/polls/index.html和 django-mysite(工程名)/templates/polls/detail.html不存在,因为python解释器去Python安装路径下的lib/site-packages/django/...去搜索了。

很明显,我们的项目并没有在Python安装目录中创建。

所以解决思路也就清晰多了:修改django检索index.html的目录。

3. 寻找答案

在下面这个网站中,我找到了答案,请看【解决方案6】

TemplateDoesNotExist 在 /polls/答案 - 爱码网 (likecs.com)

4. 解决问题

具体操作是:

修改django-mysite(工程名)/mysite/settings.py中的TEMPLATES(模板)的配置,使其默认地址为当前工程路径。

即在合适的位置加这些代码:
 

import os

# 这个变量默认是没有的,建议在默认的TEMPLAETS变量前面一行定义
TEMPLATE_DIR = os.path.join(BASE_DIR,'templates')

# 然后在TEMPLATES变量中的'DIRS':[]的括号里,加上刚定义的变量,即
TEMPLATES = [
    {
        # 前面省略
        'DIRS': [TEMPLATE_DIR],
        # 后面省略
    }
]

然后在浏览器中输入127.0.0.1:8000/polls/,就不会报错了

Django报错解决:TemplateDoesNotExist at /polls/_第2张图片

 

你可能感兴趣的:(Python,django,python,后端)