jinja2.exceptions.TemplateNotFound: layout.html报错解决方案

一、问题描述

  使用flash写了一个登录的demo,demo中的几个html文件使用了Jinja继承方式,即index.html、login.html文件继承了layout.html文件;运行程序后,点击登录如果登录成功应该跳转到index页面,但是跳转报错了,页面提示Internal Server Error,日志提示:jinja2.exceptions.TemplateNotFound: layout.html

二、问题解决思路

  对于上面的问题做了以下几个猜想:

1、是html文件名写错了吗?

   于是对了几遍发现都没写错,所以排除文件名称错误的问题。

2、是继承关键字写错了?

  于是也对了一下,发现也是对的,排除。

3、是不是继承路径不对,虽然感觉没写错,几个文件都在同一目录下,但还是要试一下,因为之前遇到过类似的问题,路径要写全路径才OK,原本写的路径是{% extends "layout1.html" %},于是改成{% extends "flask_study/myflaskproject/venv/templates/layout.html" %},发现还是报错,排除。

4、是文件名与模块名称重复了,导致写的?

  于是换了一个名字,将原来的layout.html改为layout1.html,然后在执行程序,发现不在报错,页面正常跳转了。虽然不知道这个layout.html文件具体在哪个位置,但是肯

可以肯定的是在这不能使用layout.html文件,以后遇到这种问题可以尝试修改文件名称来解决。

posted @ 2022-09-13 15:26  梅梅不想踩坑  阅读(300)  评论(0编辑  收藏  举报