• 周五. 10月 7th, 2022

5G编程聚合网

5G时代下一个聚合的编程学习网

热门标签

Sanic十:Sanic蓝图

admin

11月 28, 2021

在进行开发的时候,可能会有很多个模块,比如用户模块、商品模块,这些个模块互相之间不依赖,各自有各自的一些配置、属性、静态资源,这种情况就可以使用蓝图,即每一个模块都可以用蓝图声明路由app,然后把每个蓝图视为主app的子app来注册,这样就能实现分模块单独管理,模块之间的资源和配置互不影响

一、声明蓝图需使用sanic.Blueprint,使用示例

使用蓝图

引入并注蓝图并把蓝图注册到主app上

二、蓝图支持指定的参数

由源码可见,Blueprint和Sanic一样,都是继承的BaseSanic,所以使用方式其实是一样的,但又有各自支持的参数

name: str 蓝图名,不重复即可,默认为None
url_prefix: str url前缀对此蓝图下所有路由有效,默认为None
host: str sanic服务器要使用的FQDN的IP地址,默认为None
version: [int, str, float] 蓝图版本号,默认为None
strict_slashes: Optional[bool] = None,
version_prefix: str 版本前缀,默认为 /v

三、蓝图嵌套,Blueprint.group方法

当使用蓝图对工程进行分类管理过后,可能还需要对分类过后的每一个类进行细分,这个时候就可使用Blueprint.group方法来注册到一个主蓝图上

用户管理,登录注册模块

用户管理,用户信息模块

把两个子路由注册到同一个主蓝图中

把主蓝图注册到app上

官方案例:

讨论群:249728408

发表回复

您的电子邮箱地址不会被公开。