首页 > 解决方案 > 即使“templates/”在同一目录中,Flask 也会引发“TemplateNotFound”

问题描述

我正在关注本教程 。与Flask 引发 TemplateNotFound 错误类似,即使模板文件存在 于六年前,我也无法呈现页面,因为 Flask 引发“jinja2.exceptions.TemplateNotFound: hello_there.html”。不仅hello_there.htmltemplates目录中,我相信templates它位于正确的位置,因为它与 Python 模块位于同一目录中(在虚拟环境之外):

hello_flask/
    env/
        app.py
    templates/
        hello_there.html

在同一篇文章中,我尝试将EXPLAIN_TEMPLATE_LOADING选项设置为,但如果我在以下位置正确配置它True,我没有得到记录到 Flask 的报告:app.loggerlaunch.json

"env": {
            "FLASK_APP": "app.py",
            "FLASK_ENV": "development",
            "EXPLAIN_TEMPLATE_LOADING": "True",
            "FLASK_DEBUG": "0"
        }

好的,最后,当我通过 Flask 调试配置运行程序时,它会引发FileNotFoundError“系统找不到指定的路径”。这会影响模板错误吗?即使出现此错误,我也可以在没有模板的情况下正常运行基本的 python Flask 文件。我试图通过将解释的位置添加到PATH我从打印语句复制的变量中来修复它sys.executable,但解释器仍然会引发它。

标签: pythontemplatesflaskpath

解决方案


app.py文件和模板文件夹保存在同一目录中。您也可以明确提及模板文件夹名称。

在你的 app.py 中;

app = Flask(__name__, template_folder='templates')

推荐阅读