Sanic二:Sanic实例化时支持的参数

在使用Sanic的时候,需要先实例化一个Sanic对象,那么这个对象支持哪些配置呢

以下是从源码中获取到的参数

name: str 当前实例化的名字,不冲突即可
config: dict 指定配置

ctx: 对象 类似于flask的g对象

router: 指定路由对象,若没有指定,则取默认的 sanic.router.Router 对象

signal_router: 自定义路由信号,若没有指定,则取默认的 sanic.signals.SignalRouter 对象

error_handler: 自定义错误处理机制,若没有指定,则取默认的 sanic.handlers.ErrorHandler 对象

load_env: 加载环境,默认True
env_prefix: 环境的前缀,若没有指定,则取默认的 sanic.config.SANIC_PREFIX,实际上为字符串"SANIC_"
request_class: 默认为None
strict_slashes: bool = False,
log_config: 字典 日志配置
configure_logging: bool 是否指定日志配置,默认为True,由源码看,会取log_config配置,若log_config没有指定,则取默认的 sanic.log.LOGGING_CONFIG_DEFAULTS

register: bool 默认为None,

dumps: 默认响应转json的类,默认为None,由源码可见,当没有指定时,会用ujson.dumps或者json.dumps

需要注意的是,由源码可见,config、load_env、env_prefix这三者存在约束关系,即,若指定了配置,则 load_env 须为True,或者 env_prefix为 sanic.config.SANIC_PREFIX,即为字符串"SANIC_"

讨论群:249728408
原文地址:https://www.cnblogs.com/zhongyehai/p/15087426.html