You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flask应用/verbs路由访问返回404错误如何排查修复

Flask 单路由返回404排查方案

故障现象

站点其余页面(/tobe、/strategies)访问正常,新增的/verbs路由配置逻辑、模板存放位置、导航入口写法与正常路由完全一致,访问时持续返回404错误。

排查方向(按概率从高到低排序)

  • 未重启服务加载新路由
    这是初学者最容易踩的坑:Flask开发服务器默认不会自动检测新增的路由注册代码,写完/verbs的路由配置后,如果没有手动停止旧服务、重新启动app.py,当前运行的进程里根本不存在/verbs的路由规则,自然返回404。
    排查操作:先彻底关闭所有正在运行的Flask/Python进程,避免多个旧进程占用端口造成干扰,重新在项目目录执行启动命令flask run或python app.py,启动时留意终端输出的注册路由列表,确认存在GET /verbs条目后再访问测试。
  • 路由注册顺序冲突/泛路由拦截
    检查app.py全量代码:
    1. 确认不存在重名的verbs视图函数,否则后注册的同名路由会覆盖前面的规则
    2. 确认没有写过泛匹配路由(比如@app.route("/<page_name>")这类动态参数路由)放在/verbs路由的前面,Flask的路由匹配是按注册顺序从上到下匹配的,如果前面的泛路由提前命中了/verbs请求,就不会走到你写的verbs视图函数。
  • 路由装饰器语法/缩进错误
    检查/verbs对应的@app.route("/verbs")装饰器和下面的def verbs():函数缩进是否对齐,有没有把路由装饰器写到其他函数的作用域里,导致服务启动时根本没注册这个路由。
    验证方法:可以在verbs函数第一行加一句测试打印print("命中verbs路由"),重启服务后访问/verbs,如果终端没有输出这句话,100%是路由没注册成功,和模板文件、导航链接写法没关系。
  • 访问入口/拼写错误
    不要直接点导航栏的链接测试,手动在浏览器地址栏输入完整地址http://127.0.0.1:你的服务端口/verbs访问,排除导航栏href写错、前端缓存旧页面的问题。

排除无效排查点

你贴的templates目录列表里verbs.html文件存在、文件大小正常,不需要在模板层面排查问题:如果路由匹配成功但模板不存在/写错,Flask会返回500内部服务器错误,不会返回404。


内容的提问来源于stack exchange,提问作者user2193632

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.27 16:36:39