Flask中自定义红图拆分视图函数的方法以及——为什么蓝图不适合用于拆分试图函数

本文介绍了在Flask中如何自定义红图来拆分视图函数,作为替代蓝图的方式。详细阐述了红图的实现过程,包括`Redpoint`类的创建、`route`装饰器的实现以及`register`方法的设计,以适应更细粒度的视图函数拆分。此外,还展示了如何简化URL结构,通过红图对象名与前缀的结合避免冗余。
摘要由CSDN通过智能技术生成

蓝图是模块级别的拆分,它不是设计来让你拆分试图函数的。要实现比模块级别下更具体的视图函数的拆分,例如在用Flask制作REST API时版本号下根据不同业务对象的函数拆分时,我们就需要自定义一个跟蓝图功能相同的模块。在这里,为了体现它跟蓝图的异曲同工之妙,我们将它命名为红图!

我们这里将示范上述场景中红图对象的制作。假设在v1版本的api中,有资源user, book等,我们希望对于每个资源对应的CURD方法分别放在各自的py文件中,如图所示:

我的文件结构是 app/api/v1/redpoint。

就像我们实例化蓝图对象一样,我们首先实例化我们的红图对象,虽然它暂时还未被定义,但我们会在后面补充它。我们分别在book.py和user.py里创建实例api:

# book.py

api = Redprint('book')
# user.py

api = Redprint('user')

对了,在使用我们的红图对象前别忘了先注册蓝图对象,因为我们同样需要将红图对象注册到蓝图上,就像蓝图注册到核心对象app上一样,在这里我就不演示在创建核心对象app工厂函数中注册蓝图的步骤了,但千万别忘了这一步哦。在蓝图v1/__init_

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值