在使用flask的時(shí)候耕赘,如果更改了app.py的文件位置骄蝇,那么多數(shù)情況下就會(huì)出線temlate not found這個(gè)錯(cuò)誤,
一 原因
原因是flask在渲染模板文件的時(shí)候操骡,是默認(rèn)在當(dāng)前目錄下找templates文件來實(shí)現(xiàn)的九火。
二查看方式
按住command鍵,點(diǎn)擊Flask構(gòu)造函數(shù)中的template_folder參數(shù)
app = Flask(__name__,template_folder)
然后就會(huì)發(fā)現(xiàn)
# Flask.app
def __init__(
self,
import_name,
static_url_path=None,
static_folder="static",
static_host=None,
host_matching=False,
subdomain_matching=False,
template_folder="templates",
instance_path=None,
instance_relative_config=False,
root_path=None,
):
可以看到說默認(rèn)的模版文件就是當(dāng)前目錄下的templates文件册招,所以當(dāng)我們將app.py移動(dòng)出來導(dǎo)致其和templates文件不是同一級(jí)之后岔激,就需要更改templates_folder參數(shù),保證文件可以尋址是掰。
三 解決方式
將構(gòu)造函數(shù)構(gòu)造成如下形式虑鼎,確保使得flask能夠找到對(duì)應(yīng)的文件進(jìn)行渲染
app = Flask(__name__,template_folder='./app/templates')