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 ,终于找到模板了
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix