本文實例講述了Sanic框架配置操作。分享給大家供大家參考,具體如下:
Sanic是一個類似Flask的Python 3.5+ Web服務器,它的寫入速度非???。除了Flask之外,Sanic還支持異步請求處理程序。這意味著你可以使用Python 3.5中新的閃亮的異步/等待語法,使你的代碼非阻塞和快速。
在上一篇《Sanic框架藍圖》中已經講到,如何在Sanic中使用藍圖,接下來將介紹一下Sanic的配置,任何相當復雜的應用程序都需要配置,這些配置烘焙到實現的代碼中,不同的環境或安裝有可能不同。
Sanic支持許多種加載的配置的方法,接下來簡單介紹:
config: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 Configapp.config.from_object(Config)
從一個文件:我們可以專門頂一個文件來定義我們需要的配置選項和值,只需要提供該文件的路徑即可
app.config.from_pyfile("/aa/bb/cc")
Sanic除了可以自己定義配置,還有一些開箱即用的配置,如下所示: