【Flask】Flask 嵌套蓝图

博客地址

  • 实现自定义嵌套蓝图
  • 解决Flask原生蓝图无法实现更小范围的模块化
  • 方法图解

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

然后在父模块上使用嵌套蓝图,记得也要把该蓝图在flask的app中注册
最后在子模块下使用flask的原生蓝图,并把它注册在嵌套蓝图NestableBlueprint上
这样,url访问的格式就是这样: 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讨论地址:github.com/pallets/fla…

转载于:https://juejin.im/post/5d020484e51d45109b01b17d

猜你喜欢

转载自blog.csdn.net/weixin_33767813/article/details/93169355