1. 程式人生 > >Django高級——中間鍵

Django高級——中間鍵

django 高級 中間鍵

1. 中間件(面向切面編程)

# 不需要修改Django源代碼就可以幹預中間環節的開發方案;
# 是一個輕量級、底層的插件系統,可以介入Django的請求和響應
# 處理過程,修改Django的輸入和輸出;
# IoC,DI是其他語言中的面向切面編程的工具;

1.__init__方法,在響應第一次請求的時候被調用;

2.process_request()方法,在配置URLconf之前被調用;

3.process_view()方法,在執行視圖之前被調用;

4.process_template_response()方法,在執行視圖之後被調用;

5.process_response()方法,在返回瀏覽器之前(調用模板之後)被調用;

6.process_exception()方法,在執行視圖過程中,出現異常時被調用,返回給瀏覽器;

1.1 實例

1.1.1 應用中創建一個py文件

# MyException.py
# 調用上面的方法,來幹預中間環節;
from django.http import HttpResponse
class MyException():
def process_exception(request,response,exception):
return HttpResponse(‘abc‘)

1.1.2 在系統設置setting.py中添加中間鍵;

# MIDDLEWARE_CLASSES中:
# ‘booktest.MyException.MyException‘,

1.1.3 添加視圖函數

# views.py中添加:
# myExp(request):
# 比如:a1=int(‘abc‘) # 視圖函數出錯,彈出幹預界面;
# return HttpResponse(‘hello world‘)

1.1.4 配置url

# 訪問視圖函數myExp()


Django高級——中間鍵