python

关注公众号 jb51net

关闭
首页 > 脚本专栏 > python > Django报错TemplateDoesNotExist问题

Django报错TemplateDoesNotExist的问题及解决

作者:该学习去了

这篇文章主要介绍了Django报错TemplateDoesNotExist的问题及解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

Django报错TemplateDoesNotExist问题

问题描述

使用Django中的模板创建视图,当return一个html文件的时候,出现了TemplateDoesNotExist的错误

解决方法

对于这个错误,显然是Django没有找到Html文件导致的,我们应该逐个排查问题

1. 是否注册了应用

描述:

Django提供了一个方法,当我们在 Setting.py 内的 TEMPLATES 配置项中设定 'APP_DIRS': True 时,Django将会在应用目录下的 templates 寻找文件

注意点:如果我们使用这种方法来声明模板的位置,有一个前提是我们需要在 INSTALLED_APPS 中注册了这个应用Django才能顺利找到

2.在DIRS中声明

描述:

没有使用1中的方法,我们可以在DIRS中声明模板的位置,声明方法如下 。声明完毕之后Django将会按照DIRS中的顺序依次查找文件

3.检查一下应用子文件夹名称templates是否拼写错误

4.换一个浏览器或者清除一下浏览器缓存试一试

描述:

这个方法是笔者想出来但没有实践的,因为我出现TemplateDoesNotExist的问题时,即在Setting中声明了应用,也创建了templates文件夹并且文件引用的都很正确。

我通过在setting.py中添加import语句导入应用来解决的问题(但是Setting.py不需要import应用的包)当然在此之后我把import删除没有出现TemplateDoesNotExist。

我初步猜测是浏览器缓存更新不及时导致的,由于问题不具有复现性,这个猜想也不能实践。

django.template.exceptions.TemplateDoesNotExist: bootstrap3/errors.html

django在使用xadmin时报的错

django.template.exceptions.TemplateDoesNotExist: bootstrap3/errors.html

原因

这是由于django高版本与xadmin低版本不兼容导致的。

解决方案

在安装的虚拟环境中找到 bootstrap3/errors.html ,可以发现xadmin只有两个页面使用到了 bootstrap3/errors.html ,把它们注释或者删除即可。

login.html 页面的第46行注释掉

form.html 的第19行注释掉

然后重启项目即可。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文