赞
踩
Sanic是一个类似Flask的Python 3.5+ Web服务器,它的写入速度非常快。除了Flask之外,Sanic还支持异步请求处理程序。这意味着你可以使用Python 3.5中新的闪亮的异步/等待语法,使你的代码非阻塞和快速。
在上一篇博文中已经讲到,如何在Sanic中使用蓝图,接下来将介绍一下Sanic的配置,任何相当复杂的应用程序都需要配置,这些配置烘焙到实现的代码中,不同的环境或安装有可能不同。
Sanic支持许多种加载的配置的方法,接下来简单介绍:
config
应用程序中对象属性的配置,配置对象只是一个可以使用点符号或者字典来修改的对象:app = Sanic()
app.config.DB_NAME = "python"
app.config.DB_USER = "root"
由于配置对象还是一个字典,你可以使用它的update
方法来一次设置多个值:
db_settings = {
"DB_NAME":"python",
"DB_USER":"root"
}
app.config.update(db_settings)
SANIC_
前缀定义的环境变量都将应用于sanic配置。例如,设置SANIC_REQUEST_TIMEOUT
将被应用程序自动加载并输入到REQUEST_TIMEOUT
配置变量中,你可以将不同的前缀传递给sanic:app = Sanic(load_env="PYTHON_")
然后以PYTHON_
为前缀的环境变量都将以去掉此前缀的方式被加载进来。例如,环境变量PYTHON_DB_USER:root
将会在配置中以DB_USER:root
出现。如果你想禁止从环境变量中加载,你可以将此值设置为False
:
app = Sanic(load_env=False)
from config.Config import Config
app.config.from_object(Config)
app.config.from_pyfile("/aa/bb/cc")
Sanic除了可以自己定义配置,还有一些开箱即用的配置,如下所示:
变量 | 值 | 说明 |
---|---|---|
REQUEST_MAX_SIZE | 100000000 | 最大的请求大小(字节) |
REQUEST_TIMEOUT | 60 | 请求超时时间(秒) |
RESPONSE_TIMEOUT | 60 | 响应超时时间(秒) |
KEEP_ALIVE | True | 保持活着 |
KEEP_ALIVE_TIMEOUT | 5 | 保持活着超时时间 |
这几个预定义的值可以在修改配置时进行修改或覆盖
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。