策略RPG《亞瑟王:騎士傳說》新視訊 畫面玩法展示
阿新 • • 發佈:2021-08-31
中介軟體
中介軟體的定義
- 請求響應
- 全域性改變django的輸入輸出(request,response)
中介軟體理解
編寫
返回None與HttpResponse
應用
註冊中介軟體
class VisitLimit(MiddlewareMixin): visittime={} #類變數在記憶體中當需要重新訪問時需要重啟runserver def process_request(self,request): ip=request.META["REMOTE_ADDR"] path_url=request.path_info if not re.match("^/test",path_url): return times=self.visittime.get(ip,0) print("ip",ip,'已訪問',times) self.visittime[ip]=times+1 if times<5: return return HttpResponse("您已經訪問過"+str(times)+'次'+'被禁止訪問')
後臺顯示
Django version 2.2.12, using settings 'mymiddleware.se Starting development server at http://127.0.0.1:8000/ Quit the server with CTRL-BREAK. ip 127.0.0.1 已訪問 0 test-----my view in--- [05/Sep/2021 14:25:45] "GET /test_mw HTTP/1.1" 200 2 ip 127.0.0.1 已訪問 1 test-----my view in--- [05/Sep/2021 14:25:50] "GET /test_mw HTTP/1.1" 200 2 ip 127.0.0.1 已訪問 2 test-----my view in--- [05/Sep/2021 14:25:53] "GET /test_mw HTTP/1.1" 200 2 ip 127.0.0.1 已訪問 3 test-----my view in--- [05/Sep/2021 14:25:54] "GET /test_mw HTTP/1.1" 200 2 ip 127.0.0.1 已訪問 4 test-----my view in---