在使用flask的时候,如果更改了app.py的文件位置,那么多数情况下就会出线temlate not found这个错误,
一 原因
原因是flask在渲染模板文件的时候,是默认在当前目录下找templates文件来实现的。
二查看方式
按住command键,点击Flask构造函数中的template_folder参数
app = Flask(__name__,template_folder)
然后就会发现
# 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,
):
可以看到说默认的模版文件就是当前目录下的templates文件,所以当我们将app.py移动出来导致其和templates文件不是同一级之后,就需要更改templates_folder参数,保证文件可以寻址。
三 解决方式
将构造函数构造成如下形式,确保使得flask能够找到对应的文件进行渲染
app = Flask(__name__,template_folder='./app/templates')