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

Flask蓝图跨模块路由视图失效问题排查与解决

Flask蓝图路由未生效的原因及解决办法

问题原因

你遇到的404问题核心是:user_views.py文件没有被任何运行中的代码导入。

Flask的路由注册是代码执行到@bp.route装饰器时才会生效的。当前你的app.py只导入了userbp.py,而user_views.py完全没被加载过,里面的greet视图路由根本没被注册到蓝图bp上,自然访问时找不到对应路由,返回404。

而把视图移到userbp.py里时,因为app.py导入了userbp,视图代码被执行,路由成功注册,所以能正常访问。

另外要注意:你的蓝图设置了url_prefix="/user",就算路由注册成功,正确的访问URL也应该是/user/John,而不是/John。

解决办法

有两种简单的修复方式:

方式一:在蓝图文件中导入视图

修改userbp.py,在文件末尾添加导入语句,让蓝图加载时自动导入视图:

# userbp.py
from flask import Blueprint

bp = Blueprint("user", __name__, url_prefix="/user")

# 新增:导入视图文件,触发路由注册
import user_views

方式二:在主文件中导入视图

修改app.py,添加对user_views的导入,确保视图代码被执行:

# app.py
from flask import Flask
from userbp import bp
# 新增:导入视图文件
import user_views

app = Flask(__name__)
app.register_blueprint(bp)

@app.route("/")
def index():
    return "Hello, world"

执行任意一种修改后,重启Flask服务,访问/user/John就能正常返回预期内容了。

内容的提问来源于stack exchange,提问作者AK-CHP

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.25 16:37:38