Django高級——中間鍵
阿新 • • 發佈:2017-10-13
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高級——中間鍵