1. 问题介绍
在Django4.1的官网教程——编写你的第一个 Django 应用,第 3 部分,按部就班地走下来,会报错:
下面还有提示:
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/,就不会报错了