Django找不到模板(templates)文件的解决办法
Posted 天道酬勤
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Django找不到模板(templates)文件的解决办法相关的知识,希望对你有一定的参考价值。
看完这篇文章知道原理后,发现我的项目根目录下templates里面有一个空的index.html模版,导致和index文件下的templates文件夹里面模版名重复了,所以调用了根目录下的模版
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 ,终于找到模板了
以上是关于Django找不到模板(templates)文件的解决办法的主要内容,如果未能解决你的问题,请参考以下文章