1,sanic框架是做什么的?
- sanic的官方網址:https://sanic.readthedocs.io/en/latest/
- sanic框架是一個類似于flask框架的在Python3.5以上版本的文本服務器,他能夠快速的編寫,它是通過驚人的開發效率完成開發,希望通過這篇文章得到激勵
sanic框架的理念是:簡單,高效
sanic的應用如上圖,類似于flask.
2,下載使用sanic框架
- 在下載之前要確保有pip并且版本是最新的,Python版本是3.5以上的版本,Sanic框架使用的是全新的異步非阻塞框架,因此,早期的Python版本不能運行.
?
- 下載Sanic:?pip3 install sanic
- 我在下載的時候遇到一個錯誤 "
error: Microsoft Visual C++ 14.0 is required...
"
于是就得去微軟官網下載visualcppbuildtools_full.exe,但是安裝程序需要4GB的空間,,so官網下載很慢!百度有別人下好的包,拿過來安裝上就好了(傻瓜式安裝即可)
然后再pip3 下載就好了
?在安裝Sanic的時候不需要uvloop或者ujson,你可以同時提供這倆作為環境變量,使用真確的字符串('y',?'yes',?'t',?'true',?'on',?'1'),并且設置()SANIC_NO_X
?(X
?=?UVLOOP
/UJSON
)為true,那樣將會停止特征的下載.
- SANIC_NO_UVLOOP=true?SANIC_NO_UJSON=true pip3 install sanic
2,創建一個Sanic文件:
from sanic import Sanic from sanic.response import json# 實例化一個Sanic對象 app = Sanic()# 服務開啟的路由 @app.route("/") async def test(request):return json({"hello": "Sanic"}) # 指定開啟服務的主機和端口 if __name__ == '__main__': app.run(host="127.0.0.1", port=8000)
3,運行這個py文件即可(右擊運行 Python3 main.py)
4, 查看瀏覽器:在瀏覽器的網址輸入相應的ip和端口即可,就會收到{"hello":"Sanic"}
5,Sanic的配置相關?
?
任何合理的復雜的應用,都需要配置,,但是不會變成實際運行的代碼,設置將會根據不同的環境和下載方式而改變(便于代碼的維護)
Sanic在應用項目中保留配置的屬性,配置屬性僅僅是一個名目的文件,是項目相關點的表示,就好比一個字典的目錄
Sanic的配置實際上就是一個字典,你可以用這個字典更新方法為了方便的一次設置多個值.(如上式是數據庫的配置)
通常來說,按照慣例配置的參數的字母要全部大寫,這種方法描述在加載下,才會被認為是配置的參數
6,怎樣加載項目的相關配置
- 第一種方法是:從環境變量中導入
- 任何用SANIC_為前綴定義的變量,都會被應用到sanic的配置中,比如:在settings中SANIC_REQUEST_TIMEOUT將會被自動地加載到應用中,且會向在請求超時提供配置參數,你可以通過不同的前綴來應用到sanic中
app = Sanic(load_env="MYAPP_")
在超過變量即將會變成MYAPP_REQUEST_TIMEOUT,如果你想禁用加載環境變量的方法,你可以將load_env=False
- 第二種從模塊或者包中導入配置參數
假如項目有很多的配置參數,,最好寫一個配置文件揮著包來導入到實例化的sanic的文件中,也可以寫一個類
- 第三種方法,是將配置文件導入
通常你將會從一個文件中加載配置,那樣是基于不是分布式的應用的時候,你可以使用from_pyfile(/path/to/config_file)從文件中記載配置參數,然而,這樣是需要參數知道配置路徑,因此代替你指定的配置文件的額位置,在環境變量中,并且要告訴sanic找到指定的配置文件
配置文件符合Python的文件的規則為了被執行,這就需要你使用任意的邏輯去設立正確的配置,僅僅支持大寫字母的參數被添加到配置文件中,大部分通常包含單一的鍵值.
- 內置的配置值
當創建sanic應用的時候,超出以上這個表格的參數,是預定很少值可以被超過.