国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > Python > 正文

Python Django中間件,中間件函數,全局異常處理操作示例

2024-09-09 19:02:34
字體:
來源:轉載
供稿:網友

本文實例講述了Python Django中間件,中間件函數,全局異常處理操作。分享給大家供大家參考,具體如下:

應用名/middleware.py(定義中間件類,中間件函數。文件名可以任意):

from django.http import HttpResponse# 定義中間件類。 (類名可以任意,但類中的方法名是固定的)class TestMiddleware(object):  '''中間件類'''  def __init__(self):    '''服務器重啟之后,接收第一個請求時調用(只會調用一次)'''    print('----init----')  # 中間件函數。(用到哪個函數寫哪個,不需要全寫)  def process_request(self, request):    '''產生request對象之后,url匹配之前調用'''    print('----process_request----')    # return HttpResponse('process_request') # 默認放行,不攔截請求。  def process_view(self, request, view_func, *view_args, **view_kwargs):    '''url匹配之后,視圖函數調用之前調用'''    print('----process_view----')    # view_func: url匹配到的視圖函數。    return HttpResponse('process_view') # return HttpResponse對象,表示攔截,直接執行process_response函數。  def process_response(self, request, response):    '''視圖函數調用之后,response返回瀏覽器之前'''    print('----process_response----')    return response # 一般會返回響應。# 定義中間件類,處理全局異常class ExceptionTestMiddleware(object):  # 如果注冊多個process_exception函數,那么函數的執行順序與注冊的順序相反。(其他中間件函數與注冊順序一致)  # 中間件函數,用到哪個就寫哪個,不需要寫所有的中間件函數。  def process_exception(self, request, exception):    '''視圖函數發生異常時調用'''    print('----process_exception1----')    print(exception)

項目名/settings.py(項目配置,注冊中間件類):

MIDDLEWARE_CLASSES = (  'django.contrib.sessions.middleware.SessionMiddleware',  'django.middleware.common.CommonMiddleware',  'django.middleware.csrf.CsrfViewMiddleware',  'django.contrib.auth.middleware.AuthenticationMiddleware',  'django.contrib.auth.middleware.SessionAuthenticationMiddleware',  'django.contrib.messages.middleware.MessageMiddleware',  'django.middleware.clickjacking.XFrameOptionsMiddleware',  'django.middleware.security.SecurityMiddleware',  'booktest.middleware.TestMiddleware',  # 注冊中間件類 (中間件類所在py文件路徑.類名)  'booktest.middleware.ExceptionTestMiddleware',  # 如果注冊多個process_exception函數,那么函數的執行順序與注冊的順序相反。)

希望本文所述對大家基于Django框架的Python程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 那坡县| 塔城市| 广水市| 乐安县| 夹江县| 四子王旗| 垣曲县| 韶山市| 大名县| 泰来县| 怀远县| 广昌县| 法库县| 安国市| 崇礼县| 河源市| 广德县| 仪陇县| 尚义县| 广宁县| 上虞市| 凉山| 安徽省| 页游| 四子王旗| 全州县| 张家界市| 平阳县| 贺州市| 宝丰县| 河池市| 桦川县| 五大连池市| 凤山市| 内丘县| 项城市| 定西市| 启东市| 扎兰屯市| 多伦县| 朝阳县|