Django AOP(面向切面)

2021-09-19 09:11:56 字數 1687 閱讀 3310

在settings.py 中最底下有乙個叫做static的資料夾,用來載入一些模板中用到的資源,比如說是來配置js,css, img, 在工程目錄下建立static目錄

static_url = '/static/'

staticfiles_dirs = [

os.path.join(base_dir, 'static')

]

在模板中 首先載入靜態檔案 之後再呼叫靜態檔案 這樣就不用寫絕對路徑了

模板中的申明:

或 引用資源的時候使用:

*** 相當於staticfiles_dirs的乙個位置 填static目錄下的jquery.js的相對路徑

## 二、中介軟體

中介軟體:是乙個輕量級,底層的外掛程式, 可以介入django的請求和響應過程(面向切面程式設計)

中介軟體的本質就是乙個python類

面向切面程式設計簡稱aop。 aop的主要實現目的是針對業務處理過程中的切面進行提取,它所面對的是處理過程中的摸個步驟或階段,以獲得邏輯過程中各部分之間低耦合的隔離效果。

中介軟體的可切入點: 

#沒有引數,伺服器響應第乙個請求的時候自動呼叫,使用者確定是否啟用該中介軟體

process_request(self,request):

#在執行檢視前被呼叫,每個請求上都會呼叫,不主動進行返回或返回httpresponse物件

process_view(self,request,view_func,view_args,view_kwargs):

#呼叫檢視之前執行,每個請求都會呼叫,不主動進行返回或返回httpresponse物件

process_template_response(self,request,response):

#在檢視剛好執行完後進行呼叫,每個請求都會呼叫,不主動進行返回或返回httpresponse物件

process_response(self,request,response):

#所有響應返回瀏覽器之前呼叫,每個請求都會呼叫,不主動進行返回或返回httpresponse物件

process_exception(self,request,exception):

#當檢視丟擲異常時呼叫,不主動進行返回或返回httpresponse物件

"""

自定義中介軟體流程

1.在工程目錄下建立middleware目錄

2.在目錄中建立乙個python檔案

3.在python檔案中匯入中介軟體的基類

"""from django.utils.deprecation import middlewaremixin

class checkuser(middlewaremixin):

def process_request(self, request): # 4.在類中根據功能需求,建立切入需求類,重寫切入點方法

print('request的路徑', request.get.path)

#5.啟用中介軟體,在settings中進行配置,middleware中新增middleware.檔名.類名

Django AOP(面向切面)

在settings.py 中最底下有乙個叫做static的資料夾,用來載入一些模板中用到的資源,比如說是來配置js,css,img,在工程目錄下建立static目錄 static url static staticfiles dirs os.path.join base dir,static 在模板...

vue面向切面 感受面向切面程式設計

什麼是面向切面 初聽面向切面程式設計時,一頭霧水,什麼是面向切面,只聽說過物件導向 oop 面向過程 po 函式式程式設計 fp 面向切面 面向的難道是某乙個面?面向搜尋引擎後才了解到,面向切面是一種程式設計正規化 aspect oriented programming 簡寫 aop,特點是與原有邏...

面向切面程式設計

1 是一種程式設計思想,不是知識點!aop為aspect oriented programming的縮寫,意為 面向切面程式設計,通過預編譯方式和執行期動態 實現程式功能的統一維護的一種技術。aop是oop的一種延伸,是oop的一種有益補充!利用oop可以對業務邏輯的各個部分進行隔離,降低 之間的耦...