Flask蓝图跨文件注册后访问出现404错误,求排查
问题排查与解决
你的Flask应用访问localhost:5001/server_config出现404,且app.url_map.iter_rules()仅返回static路由,核心原因是蓝图未被成功注册,根源在于blueprints目录不是合法的Python包。
解决步骤
- 在
blueprints目录下创建空的__init__.py文件,将该目录标记为Python可导入的包。Python要求目录必须包含此文件才能被视为包,否则主程序无法正确导入其中的server_config模块,蓝图自然无法注册到应用中。 - 重启Flask应用,此时再检查
app.url_map.iter_rules(),就能看到/server_config路由已被添加。
代码正确性验证
你的现有代码逻辑本身无问题:
- 主文件中导入并注册蓝图的代码符合规范:
from blueprints.server_config import server_config app.register_blueprint(server_config)
- 蓝图文件中的路由定义也正确:
@server_config.route('/server_config', methods=['GET', 'POST']) def server(): # ... 业务逻辑代码
Flask 3.0.3版本的模块导入规则与Python标准一致,无特殊限制,只需确保blueprints是合法包即可解决问题。
内容的提问来源于stack exchange,提问作者Shane Volpe
相关产品推荐
相关产品推荐

