一、檢查模板文件夾是否正確。
遇到這個問題,首先需要檢查你的模板文件夾命名是否規范,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')