首頁 >後端開發 >Python教學 >為什麼即使模板檔案存在,我的 Flask 應用程式也會拋出「TemplateNotFound」錯誤?

為什麼即使模板檔案存在,我的 Flask 應用程式也會拋出「TemplateNotFound」錯誤?

Linda Hamilton
Linda Hamilton原創
2024-12-11 19:30:16150瀏覽

Why Does My Flask App Throw a `TemplateNotFound` Error Even Though the Template File Exists?

儘管存在模板文件,Flask 中出現TemplateNotFound 錯誤

在Flask 中渲染模板時,您可能會遇到jinja2.exceptions.TemplateNotFound: [ template_name] 錯誤,表示Flask找不到指定的範本檔案。這可能會令人沮喪,尤其是當範本文件明顯存在於您的專案中時。以下是對此問題以及解決方法的詳細檢查。

範本位置不正確

此錯誤的最常見原因是範本檔案不在正確的位置。 Flask 希望將模板放置在與創建 Flask 應用程式的 Python 模組相鄰的 templates 子目錄中。確保您的 home.html 檔案位於此子目錄中。

例如,如果您的 Flask 應用程式檔案是app.py,則範本目錄的結構應如下所示:

/myproject
    app.py
    templates/
        home.html

自訂範本目錄

如果您的範本位於非預設目錄中,則必須使用指定其路徑template_folder .

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

調試模板載入

要幫助確定錯誤背後的原因,請啟用EXPLAIN_TEMPLATE_LOADING 選項。然後,Flask 將記錄有關範本載入過程的詳細資訊。

app.config['EXPLAIN_TEMPLATE_LOADING'] = True

這可以為模板搜尋路徑的潛在問題提供有價值的見解。

以上是為什麼即使模板檔案存在,我的 Flask 應用程式也會拋出「TemplateNotFound」錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn