jinja2.exceptions.TemplateNotFound 報錯處理
阿新 • • 發佈:2021-07-28
一、檢查模板資料夾是否正確。
遇到這個問題,首先需要檢查你的模板資料夾命名是否規範,Flask預設會在工程下尋找templates
資料夾,這個是預設配置,不能寫成template
或者其他名字。當然,如果你使用的是PyCharm建立的Flask專案,PyCharm預設會幫你建立這個模板資料夾,你只需要把這個模板檔案放在這個模板資料夾中即可。在PyCharm中,這個資料夾有著特殊標記。
當然,我也嘗試過取消標記為template Folder
,但是Flask依然能準確的找到這個模板資料夾。
二、關於模板路徑
如果你的模板資料夾命名沒有問題,那麼我想你可能並不是在專案資料夾下直接使用render_template
這時你需要在這個包下建立一個名為templates
的模板資料夾,再將這個模板檔案放任其中。然後即可正常對模板檔案進行渲染了;
其實,對於這個規則,Flask在其官方文件中確有說明。
也就是說專案工程下的檔案預設找到專案下的templates
,而包中的檔案預設找包中的templates
資料夾,所以當需要在包內進行渲染,就先在這個包內建立一個templates
目錄用於存放模板檔案;
當然,除此之外,也可以通過對Flask物件設定template_folder
屬性來設定;
app = Flask(__name__, template_folder='./templates')