【Flask】Flask 嵌套蓝图

博客地址

  • 实现自定义嵌套蓝图

  • 解决Flask原生蓝图无法实现更小范围的模块化

  • 方法图解

创建一个文件,在其中自定义嵌套蓝图,继承于flask的原生Blueprint,主要实现在register_blueprint方法中

嵌套蓝图

然后在父模块上使用嵌套蓝图,记得也要把该蓝图在flask的app中注册

在这里插入图片描述

最后在子模块下使用flask的原生蓝图,并把它注册在嵌套蓝图NestableBlueprint上

在这里插入图片描述

这样,url访问的格式就是这样:http://xxx.xxx.xxx:xxxx/api/v1/team/xxx

父蓝图的“/api/v1”和子蓝图的“/team”,都在1图的重写方法中实现了拼接

最后

我是应用在flask-restful框架中,而在api开发中也可以选择flask-restplus,也实现了更小的模块化的功能namespace,自带swagger,但我个人觉得有挺多坑的,折腾一段时间还是换回了flask-restful

该技巧出自于flask issue中关于嵌套蓝图的讨论@teozkr ,感谢他的分享,

github讨论地址:https://github.com/pallets/flask/issues/593

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容