python访问报错:jinja2.exceptions.TemplateNotFound: index.html解决

背景

项目目录结构

test/
–index.html # 主页
–app.py
–count.json # 存储访问数据文件

三个文件均在同一级。

文件内容

app.py

from flask import Flask
from flask import render_template
from json import load, dump

app = Flask(__name__)
app.config["SECRET_KEY"] = '123456'

@app.route("/")
def index():
    with open("count.json") as f:
        # 读取计数文件并+1回写
        people = load(f) + 1
        with open("count.json", "w") as f:
            dump(people, f)
    return render_template("index.html", people=str(people))

if __name__ == "__main__":
    app.run(host="127.0.0.1", port="8000", debug=True)

count.josn

0

index.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>首页</title>
</head>
<body>
    <h1>网站首页</h1>
    <p>Hello World! 该页面已被访问<b>{{ count }}</b>次。</p>
</body>
</html>

运行报错:

jinja2.exceptions.TemplateNotFound

jinja2.exceptions.TemplateNotFound: index.html
Traceback (most recent call last)

在这里插入图片描述

解决

render_template方法会在同级templates目录下查找。
调整index.html文件位置解决。
调整后目录结构:

test/
--templates/
	index.html # 主页
--app.py 	
--count.json # 存储访问数据文件

重启后,成功访问。
在这里插入图片描述

在这里插入图片描述
点赞 收藏 关注

  • 17
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 27
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 27
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

三省同学

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值