自定義中介軟體

2021-10-01 14:37:37 字數 2290 閱讀 8567

建立乙個mymiddleware.py

def ******_middleware

(get_response)

: # 中介軟體工廠, 生成乙個中介軟體

# get_response

# 此處編寫的**僅在django第一次配置和初始化的時候執行一次。

# print

('1,初始化中介軟體了....'

) def middleware

(request)

: # 此處編寫的**會在每個請求處理檢視前被呼叫。

print

('1.處理request前'

) request.abc =

123try

: response =

get_response

(request)

except:

pass

print

('1.處理request後, 拿到了response'

) response.status_code =

222 # 此處編寫的**會在每個請求處理檢視之後被呼叫。

return response

return middleware

def ******_middleware2

(get_response)

: # 此處編寫的**僅在django第一次配置和初始化的時候執行一次。

print

('2.初始化中間了....'

) def middleware

(request)

: # 此處編寫的**會在每個請求處理檢視前被呼叫。

print

('2.處理request前'

) response =

get_response

(request)

print

('2.處理request後, 拿到了response'

) # 此處編寫的**會在每個請求處理檢視之後被呼叫。

return response

return middleware

註冊到 settings.py
middleware=[

,,]

到檢視view寫

def my_decorator

(func)

:(request,

*args,

**kwargs)

:print

('自定義裝飾器被呼叫了'

)print

('請求路徑%s'

% request.path)

return

func

(request,

*args,

**kwargs)

# @method_decorator

(my_decorator, name=

'get'

) # 正常

# @method_decorator

(my_decorator, name=

'dispatch'

) # 正常, 也可以給 view 方法加裝飾器

# @method_decorator

(my_decorator) # 錯誤

class

indexview

(view)

: def get

(self, request)

: # 處理get請求

('類檢視, 處理get請求'

('類檢視, 處理post請求'

('類檢視, 處理put請求'

('類檢視, 處理delete請求'

)

laravel 自定義中介軟體

關於中介軟體的理解 最好將中介軟體想象為一系列的 層 http 請求必須經過它們才會觸發您的應用程式。每一層都可以檢測接收的請求,甚至可以完全拒絕請求訪問您的應用。1.建立中介軟體php artisan make middleware checkage 3.為路由指定中介軟體 route get f...

scrapy中介軟體自定義

二 定義動態proxy中介軟體 在middlewares.py檔案中,編寫useragentmiddlerware中介軟體,可以隨機動態設定user agent from fake useragent import useragent 自定義動態user agent中介軟體 class userag...

Django自定義中介軟體

自定義中介軟體類 到達檢視函式前 返回值none,繼續 返回值為response,倒序執行中介軟體 return none defprocess view self,request,view func,view args,view kwargs 返回none,繼續 返回response,倒序執行中介...