Flask 學習筆記 1

2021-10-11 01:12:17 字數 2391 閱讀 8800

django:大而全面,內部提供:orm、admin、中介軟體、form、modelform、session、快取、訊號、csrf;

flask:短小精悍,可擴充套件性強,第三方元件豐富;

tornado:短小精悍,可擴充套件性強,但是第三方沒這麼豐富,強項——非同步非阻塞。

wsgi: 全稱python web server gateway inte***ce,

作用: 1. wsgi是一套介面標準協議/規範;

2. 通訊(作用)區間是web伺服器和python web應用程式之間;

3. 目的是制定標準,以保證不同web伺服器可以和不同的python程式之間相互通訊

操作如下**時候

from threading import thread,local

ss=local(

)def

task

(arg)

:#物件.val= 1/2/3/4/5

ss.value = arg

for i in

range(10

):t=thread(target=task,args(i,))

t.start

使用多執行緒時,建立 threading.local() 物件,可以為執行緒每個執行緒開闢一塊空間並進行資料儲存,使用

自己通過字典建立乙個類似threading.local的東西

dict_s=

4217

:4218

:4219

: 執行緒id:}

defset

(k,v)

: ident = get_ident(

)if ident in dict_s:

dict_s[ident]

[k]=v

else

: dict_s[ident]

=def

get(k)

: ident=get_ident(

)return dict_s[ident]

[k]def

task

(arg)

:#物件.val= 1/2/3/4/5

set(

'val'

,arg)

v=get(

'val'

)print

(v)for i in

range(10

):t=thread(target=task,args(i,))

t.start

自定義local物件(基於物件導向)ps:flask使用的就是如此方式

***作用:***為每個執行緒(協程)開闢一塊空間儲存資料

try

:#獲取協程id,如果沒有協程,使用執行緒

from greenlet import getcurrent as get_ident

except exception as e:

from threding import get_ident

from threading import get_ident

class

dictlocal

(object):

def__init__

(self)

:# self.dict_s = {}

object

.__setattr__(self,

'dict_s',)

def__setattr__

(self, key, value)

: ident = get_ident(

)if ident in self.dict_s:

self.dict_s[ident]

[key]

= value

else

: self.dict_s[ident]

=def

__getattr__

(self, item)

: ident = get_ident(

)return self.dict_s[ident]

[item]

deftask

(arg)

: obj=dictlocal(

)# 物件.val= 1/2/3/4/5

obj.val= arg

v = obj.val

print

(v)for i in

range(10

):t = thread(target=task,args=

(i,)

) t.start(

)

flask學習筆記 1

from flask import flask 匯入flask模組 建立flask應用例項 傳入 name 作用是為了確定資源所在路徑 定義路由及檢視函式 定義路由通過裝飾器實現 def hello world return hello 啟動,flask程式會在乙個簡易的伺服器啟動 from fla...

Flask筆記 1 簡單的flask

flask專案的基本目錄結構 flask專案名 static 靜態檔案的存放目錄 templates 模板的存放目錄 專案名.py 主專案 config.py 配置檔案 例 專案名.py from flask import flask defhello world 檢視函式 return hello...

Flask自學筆記(1)

命令 說明注意 pip install pipenv 從pypi 上安裝pipenv pipenv install 建立虛擬環境 虛擬環境資料夾在路徑c users 使用者名稱 virtualenvs 目錄下 pipenv shell 啟用 進入 虛擬環境 pip list 檢視當前環境安裝包 在虛...