jinja2.exceptions.TemplateNotFound 报错处理

一、检查模板文件夹是否正确。

遇到这个问题,首先需要检查你的模板文件夹命名是否规范,Flask默认会在工程下寻找templates文件夹,这个是默认配置,不能写成template或者其他名字。当然,如果你使用的是PyCharm创建的Flask项目,PyCharm默认会帮你创建这个模板文件夹,你只需要把这个模板文件放在这个模板文件夹中即可。在PyCharm中,这个文件夹有着特殊标记。jinja2.exceptions.TemplateNotFound 报错处理
当然,我也尝试过取消标记为template Folder,但是Flask依然能准确的找到这个模板文件夹。
jinja2.exceptions.TemplateNotFound 报错处理

jinja2.exceptions.TemplateNotFound 报错处理

二、关于模板路径

如果你的模板文件夹命名没有问题,那么我想你可能并不是在项目文件夹下直接使用render_template方式处理响应吧。你可能是在项目中创建了包。在这个包中实现对响应的处理。
jinja2.exceptions.TemplateNotFound 报错处理

这时你需要在这个包下创建一个名为templates的模板文件夹,再将这个模板文件放任其中。然后即可正常对模板文件进行渲染了;
jinja2.exceptions.TemplateNotFound 报错处理

其实,对于这个规则,Flask在其官方文档中确有说明。
jinja2.exceptions.TemplateNotFound 报错处理

也就是说项目工程下的文件默认找到项目下的templates,而包中的文件默认找包中的templates文件夹,所以当需要在包内进行渲染,就先在这个包内创建一个templates目录用于存放模板文件;

当然,除此之外,也可以通过对Flask对象设置template_folder属性来设置;
app = Flask(__name__, template_folder=‘./templates‘)

jinja2.exceptions.TemplateNotFound 报错处理

上一篇:vscode 终端无法运行npm指令


下一篇:CXGRID 导出EXCEL