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

Flask应用无法识别新增路由及代码修改不生效问题求助

Flask新增路由404且代码修改不生效的解决方法

问题根源分析

1. 新增路由返回404的原因

你的路由定义中使用了占位符格式的路径:@spacy_en_api.route("/[MY_CUSTOM_ROUTE]", methods=['POST']),但实际请求的是/MY_CUSTOM_ROUTE(无方括号),路径完全不匹配,导致Flask无法识别该路由。此外,新增的路由函数里未定义data变量,即使路径正确也会触发500错误。

2. 代码修改不生效的原因

  • Flask默认开发服务器不会自动重载代码,修改代码后若未手动重启应用,进程仍在运行旧版本代码。
  • 可能存在后台残留的Flask进程占用5000端口,新启动的应用未真正接管请求,导致修改无法生效。

具体解决步骤

1. 修复路由定义错误

修改routes_en.py中的新增路由,替换占位符为实际路由名,并补全变量定义:

@spacy_en_api.route("/my_custom_route", methods=['POST'])
def my_custom_route():
    data = {"output": "test - it works"}  # 先初始化data字典
    return jsonify(data)

2. 彻底重启Flask应用

  • 用Ctrl+C终止当前运行的Flask进程,再重新执行python main.py启动应用。
  • 若怀疑端口被占用,清理残留进程:
    • Linux/macOS:执行lsof -i :5000找到进程PID,再用kill <PID>杀死进程。
    • Windows:执行netstat -ano | findstr :5000获取PID,再用taskkill /F /PID <PID>强制终止进程。

3. 开启debug模式自动重载(可选)

修改main.py中的启动代码,开启debug模式后,Flask会自动监测代码变化并重启服务器:

if __name__ == '__main__':
    app.run(debug=True)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.24 11:23:16