sanic官方文檔解析之下載和Configuration

1,sanic框架是做什么的?

  • sanic的官方網址:https://sanic.readthedocs.io/en/latest/

  • sanic框架是一個類似于flask框架的在Python3.5以上版本的文本服務器,他能夠快速的編寫,它是通過驚人的開發效率完成開發,希望通過這篇文章得到激勵

sanic框架的理念是:簡單,高效

sanic的應用如上圖,類似于flask.

2,下載使用sanic框架

  • 在下載之前要確保有pip并且版本是最新的,Python版本是3.5以上的版本,Sanic框架使用的是全新的異步非阻塞框架,因此,早期的Python版本不能運行.

?

  1. 下載Sanic:?pip3 install sanic
  2. 我在下載的時候遇到一個錯誤 "

  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應用的時候,超出以上這個表格的參數,是預定很少值可以被超過.

轉載于:https://www.cnblogs.com/ljc-0923/p/10391779.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/248509.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/248509.shtml
英文地址,請注明出處:http://en.pswp.cn/news/248509.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

首秀 Express 框架

文章目錄框架特性express的使用初始化項目:下載框架模塊:測試代碼:總結以上代碼:請求處理的中間件概念:中間件——app.use基本用法:next的用法app.use中間件的應用路由的保護網站維護公告自定義404&#xf…

云原生技能樹測評

前言 利用午休后的10多分鐘時間,看了看APP的技能樹板塊,簡單的提出幾個看法! 答題過程 可以設置為闖關類型,答對一道后可以進入下一關,或者是一個章節為一關,讓大家一直有一種期待 回答錯誤數量 可以…

原型和閉包

原型和閉包 一切皆對象 一切皆對象(類型值除外) undefined, number, string, boolean屬于簡單的值類型 函數、數組、對象、new Number(10)都是對象。他們都是引用類型 Null是基本數據類型,不是引用數據類型 基本數據類型的值就是它本身的值&a…

python 排序算法

冒泡排序: 1 #coding:utf-82 3 比較相鄰的元素,每一趟交換后,最后的元素是最大的。4 第一次比較n-1次,第二次比較n-2次。。。第n-1次比較1次5 進行n-1次冒泡次數6 最優時間復雜度O(n),最壞時間復雜度O(n^2)7 8 9 def bubble_sort…

獎勵 CSDN 社區的領軍人物

設計動機 領軍人物榜單在這里:https://blog.csdn.net/rank/list/role CSDN 是中國 IT 人士學習、成長、成功的平臺, 這個平臺有很多博主, 博主寫的很多優秀文章獲得了粉絲。 那么, 博主獲得粉絲之后, 博主以粉絲為榮…

一文教會你何為重繪、回流?

文章目錄css圖層圖層創建的條件重繪(Repaint)回流觸發重繪的屬性觸發回流的屬性常見的觸發回流的操作優化方案requestAnimationFrame----請求動畫幀寫在最后學習目標: 了解前端Dom代碼、css樣式、js邏輯代碼到瀏覽器展現過程了解什么是圖層了解重繪與回流了解前端層…

mockjs中的方法(三)

1)Mock.mock(); Mock.mock( url, type, template, function(options) ); 其中 url 是定義我們要請求的 url 地址,以便于我們請求的時候 mock 去進行攔截,知道我們要去請求那個值;但是它也是可選的,而且格式…

js函數、js對象的這些點你真的懂嗎?

本篇學習目標 ?了解函數(高級)原型原型鏈概念\textcolor{green}{了解函數(高級)原型原型鏈概念}了解函數(高級)原型原型鏈概念 ?掌握函數作用域\textcolor{green}{掌握函數作用域}掌握函數作用域 ?掌握…

前端處理跨域的幾種方式

什么是跨域&#xff1f; 跨域是指一個域下的文檔或腳本試圖去請求另一個域下的資源&#xff0c;這里跨域是廣義的。 廣義的跨域&#xff1a; 1、資源跳轉&#xff1a;A鏈接、重定向、表單提交 2、資源嵌入&#xff1a; <link>、<script>、<img>、<frame&g…

程序員必知的緩存套圖

文章目錄1. 線程與進程1.1 進程:1.2. 線程:1.3. 關系2. 瀏覽器內核模塊組成4. 事件循環機制5. 緩存5.1. 緩存理解5.2. 緩存分類5.3. 緩存使用示意圖5.4. 緩存中的header參數1. 線程與進程 1.1 進程: 進程是計算機中的程序關于某數據集合上的一次運行活動&#xff0c;是系統進…

安裝webpack及使用

前言 你是否也是只會運用框架中集成好的Webpack配置呢&#xff1f;你明白每一項的意義么&#xff1f;你懂多少Webpack的個性化配置項呢&#xff1f;本篇文章為你講解Webpack中的各種配置項參數及作用&#xff01; 文章目錄了解Webpack相關開啟項目編譯打包應用使用webpack配置…

Python基礎-os模塊 sys模塊

sys模塊 與操作系統交互的一個接口 文件夾相關 os.makedirs(dirname1/dirname2) 可生成多層遞歸目錄os.removedirs(dirname1) 若目錄為空&#xff0c;則刪除&#xff0c;并遞歸到上一級目錄&#xff0c;如若也為空&#xff0c;則刪除&#xff0c;依此類推os.mkdir(dirnam…

php單例型(singleton pattern)

搞定&#xff0c;吃飯 <?php /* The purpose of singleton pattern is to restrict instantiation of class to a single object. It is implemented by creating a method within the class that creates a new instance of that class if one does not exist. If an obje…

開啟關閉各種服務

開啟&關閉 Mac版 查找被占用的8080端口&#xff0c;根據pid殺掉進程 查找8080端口 losf -i:8080 根據pid殺掉進程 kill -9 pid iMac:~ acui$ lsof -i:8080 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME java 62948 ting 93u IPv6 0x6697d6…

助你提高效率的幾個Vue指令

前言 很多使用Vue的同學往往最容易忽略的指令&#xff0c;由于在這里考慮到很多初學甚至還沒有開始接觸Vue的同學呢&#xff0c;在介紹v-clos之前呢就先以大家都熟知的v-model編寫小demo v-model 相信大家對v-model并不陌生&#xff0c;簡單來講他就是用于在表單控件以及組建…

掌握Mock擺脫后端同學的束縛

文章目錄前言Mock概述mock.js安裝Mock規范Mock的使用總結前言 當下采用前后端分離模式開發Web應用已經成為氣候&#xff0c;在開發階段有一個不成文的規定則是 項目開發后端先行 但是作為前端開發工程師的我們&#xff0c;難道在搭建完頁面后只能等待后端的接口么&#xff1f;…

戶外鞋簡介

. 單論品牌&#xff08;主要以登山鞋及徙步鞋為主&#xff09;&#xff1a; 高級品牌&#xff1a;SCARPA、ASOLO、MONTRAIL、ZAMBERLAN、vasque、Lowa、La Sportiva 價格都較高&#xff0c;單價都在千元以上&#xff0c;品質一流&#xff0c;做工精細。 中檔品牌&#xff1a;Tr…

Vue技能樹上線啦

前言 前端現在越來越多樣化&#xff0c;語言眾多&#xff0c;大家使用的框架也比較雜&#xff0c;在廣泛的前端技術棧面前我唯愛Vue&#xff08;僅代表個人觀點勿噴小伙伴們&#xff09;可能很多人覺得我是因為簡單&#xff0c;其實并不然&#xff0c;我嘗試過很多框架&#x…

ES6的新特性(8)——數組的擴展

數組的擴展 擴展運算符 含義 擴展運算符&#xff08;spread&#xff09;是三個點&#xff08;...&#xff09;。它好比 rest 參數的逆運算&#xff0c;將一個數組轉為用逗號分隔的參數序列。 console.log(...[1, 2, 3]) // 1 2 3console.log(1, ...[2, 3, 4], 5) // 1 2 3 4 5[…

《SpringMVC從入門到放肆》一、概述

一、SpringMVC概述 ViewServiceDaoDBSpring MVCinterfaceinterfaceMysqlimplsimplsSpringMVC也叫Spring web mvc&#xff0c;屬于表現層框架。SpringMVC是Spring框架的一部分&#xff0c;是在Spring3.0后發布的。 二、第一個SpringMVC程序功能描述&#xff1a;  用戶提交一個…