Flask运行报错jinja2.exceptions.TemplateNotFound: index.html求助
Flask报错jinja2.exceptions.TemplateNotFound: index.html 修复方案
问题原因与对应修复步骤
- 模板文件夹命名不匹配
代码中指定的模板目录为templates(复数形式),如果你实际创建的文件夹为单数template,直接将文件夹重命名为templates即可,需保证该文件夹和Flask启动脚本放在同一级目录。 - render_template传参路径错误
render_template()方法默认从指定的模板目录下查找文件,不需要额外加templates/前缀,你首页路由的代码写法错误:# 错误写法 return render_template('templates/index.html') # 修正后写法 return render_template('index.html') - 冗余的Flask实例化代码
代码中重复实例化了两次Flask应用,属于无效冗余内容,建议合并为一行:# 删除原有两行app实例化代码,替换为下方代码 app = Flask(__name__, template_folder='templates') CORS(app) - Spyder工作目录不匹配
Spyder默认工作目录可能不是你的项目根目录,可在代码开头添加打印语句确认路径:
如果输出路径不是你的项目根目录(即和import os print(os.getcwd())templates文件夹、model.pk1文件同目录的路径),可在Spyder右上角工作路径选择框切换到对应目录,或在代码开头手动指定工作目录:os.chdir("你的项目根目录完整路径") - 确认项目层级结构正确
正确的项目文件层级需符合下方结构:项目根目录/ ├─ Flask启动脚本.py ├─ model.pk1 └─ templates/ └─ index.html
内容的提问来源于stack exchange,提问作者gaby
相关产品推荐
相关产品推荐

