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

Flask控制器报URL未找到错误,请求协助排查404问题

解决Flask访问http://localhost:8000/create_testcases/时的404错误

遇到这个404问题别慌,咱们从最常见的几个排查方向入手:

  • 检查路由定义的匹配性
    Flask的路由是严格匹配路径的,尤其是末尾的斜杠。你得确认代码里的路由装饰器和访问路径完全一致:

    • 如果访问的是/create_testcases/(带末尾斜杠),路由必须写成@app.route('/create_testcases/')
    • 如果路由写成@app.route('/create_testcases')(无斜杠),访问带斜杠的地址就会触发404
      举个正确的例子:
    from flask import Flask
    app = Flask(__name__)
    
    @app.route('/create_testcases/')
    def create_testcases():
        return "这里是测试用例创建页面"
    

    另外如果用了蓝图(Blueprint),要确保蓝图已经正确注册到Flask实例上,并且路由前缀没有冲突。

  • 确认路由所在模块被正确加载
    如果你的路由写在单独的模块(比如testcase_views.py),主应用文件必须导入这个模块或者注册对应的蓝图。比如主文件app.py里要加:

    from testcase_views import testcase_bp
    app.register_blueprint(testcase_bp)
    

    要是没导入或注册,路由根本不会被Flask识别。

  • 核对启动端口和访问地址一致
    你访问的是8000端口,得确保启动Flask时确实用的这个端口。可以用命令行启动:

    flask run --port=8000
    

    或者在代码里指定:

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

    要是启动时用的是默认的5000端口,访问8000自然会404。

  • 排查URL前缀或代理影响
    如果你的应用设置了APPLICATION_ROOT配置,或者部署时用了反向代理(比如Nginx),访问路径得加上对应的前缀。比如设置了app.config['APPLICATION_ROOT'] = '/myapp',那正确的访问地址应该是http://localhost:8000/myapp/create_testcases/。

  • 开启调试模式查看已注册路由
    开启调试模式后,Flask会在终端输出所有已注册的路由,能直接确认/create_testcases/是否存在。启动时加--debug参数:

    flask run --port=8000 --debug
    

    或者代码里设置app.run(debug=True),启动后看终端输出的路由列表,要是找不到/create_testcases/,说明路由没被正确注册,得回头检查模块导入或路由定义。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 08:23:53