python - 即使“templates/”在同一目录中,Flask 也会引发“TemplateNotFound”
问题描述
我正在关注本教程
。与Flask 引发 TemplateNotFound 错误类似,即使模板文件存在 于六年前,我也无法呈现页面,因为 Flask 引发“jinja2.exceptions.TemplateNotFound: hello_there.html”。不仅hello_there.html
在templates
目录中,我相信templates
它位于正确的位置,因为它与 Python 模块位于同一目录中(在虚拟环境之外):
hello_flask/
env/
app.py
templates/
hello_there.html
在同一篇文章中,我尝试将EXPLAIN_TEMPLATE_LOADING
选项设置为,但如果我在以下位置正确配置它True
,我没有得到记录到 Flask 的报告:app.logger
launch.json
"env": {
"FLASK_APP": "app.py",
"FLASK_ENV": "development",
"EXPLAIN_TEMPLATE_LOADING": "True",
"FLASK_DEBUG": "0"
}
好的,最后,当我通过 Flask 调试配置运行程序时,它会引发FileNotFoundError
“系统找不到指定的路径”。这会影响模板错误吗?即使出现此错误,我也可以在没有模板的情况下正常运行基本的 python Flask 文件。我试图通过将解释的位置添加到PATH
我从打印语句复制的变量中来修复它sys.executable
,但解释器仍然会引发它。
解决方案
将app.py
文件和模板文件夹保存在同一目录中。您也可以明确提及模板文件夹名称。
在你的 app.py 中;
app = Flask(__name__, template_folder='templates')
推荐阅读
- node.js - AWS Elastic Beanstalk | 错误:无法运行 npm 安装。快照日志以获取更多详细信息
- c# - C# 中的动态浮点格式化程序
- c# - 没有可用的测试..通过 exe 在 VM 上使用构建工具和测试代理进行测试
- python - 播放带有 winsound 问题的随机 wav 文件
- html - 媒体查询无法在 Opera mini 浏览器上运行,但在 Firefox 和 chrome 浏览器上运行良好
- azure - 是否可以使用 onPremisesSyncEnabled(Microsoft Graph API)来监视 Azure AD 是否同步?
- node.js - 为什么会出现“0 - 未知错误 [object ProgressEvent]”错误?
- c# - 按组在单独的线程中运行处理
- git - 在 Git 中为多个推送提交只创建一个提交
- r - 使用循环导入许多文件