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