只是做个记录
Djang遇到找不到模板HTML文件的的问题,网上找到的很多解决办法都是修改
把settings.py->"templates"->"DIRS"修改为
'DIRS': [os.path.join(BASE_DIR,"templates")]
但是我发现这里在新建项目时早就自动配置好了的,根本不需要改
'DIRS': [BASE_DIR / 'templates']
最后在官方文档中找到答案
首先,在你的
polls
目录里创建一个templates
目录。Django 将会在这个目录里查找模板文件。你项目的 TEMPLATES 配置项描述了 Django 如何载入和渲染模板。默认的设置文件设置了
DjangoTemplates
后端,并将 APP_DIRS 设置成了 True。这一选项将会让DjangoTemplates
在每个 INSTALLED_APPS 文件夹中寻找 "templates" 子目录。这就是为什么尽管我们没有像在第二部分中那样修改 DIRS 设置,Django 也能正确找到 polls 的模板位置的原因。在你刚刚创建的
templates
目录里,再创建一个目录polls
,然后在其中新建一个文件index.html
。换句话说,你的模板文件的路径应该是polls/templates/polls/index.html
。因为``app_directories`` 模板加载器是通过上述描述的方法运行的,所以 Django 可以引用到polls/index.html
这一模板了。
我的APP中已经建立了templates文件夹,也在其中添加了APP同名的子文件夹,唯一没有做的就是把APP添加到settings.py的 INSTALLED_APPS 因为我一开始误以为这个只是和models生成数据表有关,而我的APP中并不需要models,也不需要生成数据表,所以就没有把APP添加到
INSTALLED_APPS 。
最后添加APP到
INSTALLED_APPS ,终于找到模板了
INSTALLED_APPS = [
'demo.apps.DemoConfig',
]