1. 程式人生 > 其它 >jinja2.exceptions.TemplateNotFound 報錯處理

jinja2.exceptions.TemplateNotFound 報錯處理

一、檢查模板資料夾是否正確。

遇到這個問題,首先需要檢查你的模板資料夾命名是否規範,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')