Flask调用网站URL持续返回404错误的原因及解决方法
问题原因
你的视图函数仅注册了/和/home两个路由,没有绑定/home.html路径,Flask收到GET /home.html的请求时找不到匹配的路由处理规则,就会返回404。
注意:render_template('home.html')的作用只是让Flask从模板目录加载名为home.html的文件渲染返回,不会自动帮你注册和模板同名的访问路由,路由必须手动通过@bp.route()声明才会生效。
修复方法
按需选择以下任意一种方案即可:
- 调整访问地址:放弃访问
/home.html,直接访问已注册的/或者/home路径,就能正常拿到渲染后的页面内容。 - 新增路由绑定:如果必须保留
/home.html的访问路径,给视图函数加一条对应路由即可,修改后代码如下:
@bp.route('/') @bp.route('/home') @bp.route('/home.html') def home(): return render_template('home.html')
- 静态文件托管:如果是不需要走后端逻辑的纯静态HTML页面,可以直接把文件放到项目的
static目录下,通过/static/home.html路径直接访问,不需要单独写路由。
内容的提问来源于stack exchange,提问作者Poppy
相关产品推荐
相关产品推荐

