最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時(shí)間:2019年11月08日 09:49:58   作者:houyanhua1  
這篇文章主要介紹了Python Django中間件,中間件函數(shù),全局異常處理操作,結(jié)合實(shí)例形式分析了Django中間件,中間件函數(shù),全局異常處理相關(guān)操作技巧,需要的朋友可以參考下

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

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

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

項(xiàng)目名/settings.py(項(xiàng)目配置,注冊(cè)中間件類):

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',  # 注冊(cè)中間件類 (中間件類所在py文件路徑.類名)
  'booktest.middleware.ExceptionTestMiddleware',
  # 如果注冊(cè)多個(gè)process_exception函數(shù),那么函數(shù)的執(zhí)行順序與注冊(cè)的順序相反。
)

希望本文所述對(duì)大家基于Django框架的Python程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • Django使用AJAX調(diào)用自己寫(xiě)的API接口的方法

    Django使用AJAX調(diào)用自己寫(xiě)的API接口的方法

    這篇文章主要介紹了Django使用AJAX調(diào)用自己寫(xiě)的API接口的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2019-03-03
  • Python加密模塊的hashlib,hmac模塊使用解析

    Python加密模塊的hashlib,hmac模塊使用解析

    這篇文章主要介紹了Python加密模塊的hashlib,hmac模塊使用解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-01-01
  • 最強(qiáng)Python可視化繪圖庫(kù)Plotly詳解用法

    最強(qiáng)Python可視化繪圖庫(kù)Plotly詳解用法

    數(shù)據(jù)分析離不開(kāi)數(shù)據(jù)可視化。Plotly 是一款用來(lái)做數(shù)據(jù)分析和可視化的在線平臺(tái),功能非常強(qiáng)大,可以在線繪制很多圖形比如條形圖、散點(diǎn)圖、餅圖、直方圖等等
    2021-11-11
  • Python腳本在Appium庫(kù)上對(duì)移動(dòng)應(yīng)用實(shí)現(xiàn)自動(dòng)化測(cè)試

    Python腳本在Appium庫(kù)上對(duì)移動(dòng)應(yīng)用實(shí)現(xiàn)自動(dòng)化測(cè)試

    這篇文章主要介紹了使用Python的Appium庫(kù)對(duì)移動(dòng)應(yīng)用實(shí)現(xiàn)自動(dòng)化測(cè)試的教程,屬于Python腳本的一個(gè)自動(dòng)化應(yīng)用,需要的朋友可以參考下
    2015-04-04
  • 詳細(xì)解讀tornado協(xié)程(coroutine)原理

    詳細(xì)解讀tornado協(xié)程(coroutine)原理

    這篇文章主要介紹了詳細(xì)解讀tornado協(xié)程(coroutine)原理,涉及協(xié)程定義,生成器和yield語(yǔ)義,F(xiàn)uture對(duì)象,ioloop對(duì)象,函數(shù)裝飾器coroutine等相關(guān)內(nèi)容,具有一定借鑒價(jià)值,需要的朋友可以參考下
    2018-01-01
  • Django數(shù)據(jù)庫(kù)連接丟失問(wèn)題的解決方法

    Django數(shù)據(jù)庫(kù)連接丟失問(wèn)題的解決方法

    這篇文章主要介紹了Django數(shù)據(jù)庫(kù)連接丟失問(wèn)題的解決方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-12-12
  • 如何利用Python動(dòng)態(tài)展示排序算法

    如何利用Python動(dòng)態(tài)展示排序算法

    Python是一種簡(jiǎn)單易學(xué),功能強(qiáng)大的編程語(yǔ)言,它有高效率的高層數(shù)據(jù)結(jié)構(gòu),能夠簡(jiǎn)單、有效地實(shí)現(xiàn)面向?qū)ο缶幊?下面這篇文章主要給大家介紹了關(guān)于如何利用Python動(dòng)態(tài)展示排序算法的相關(guān)資料,需要的朋友可以參考下
    2021-10-10
  • Tensorflow中使用tfrecord方式讀取數(shù)據(jù)的方法

    Tensorflow中使用tfrecord方式讀取數(shù)據(jù)的方法

    這篇文章主要介紹了Tensorflow中使用tfrecord方式讀取數(shù)據(jù)的方法,適用于數(shù)據(jù)較多時(shí),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-06-06
  • Python下實(shí)現(xiàn)的RSA加密/解密及簽名/驗(yàn)證功能示例

    Python下實(shí)現(xiàn)的RSA加密/解密及簽名/驗(yàn)證功能示例

    這篇文章主要介紹了Python下實(shí)現(xiàn)的RSA加密/解密及簽名/驗(yàn)證功能,結(jié)合具體實(shí)例形式分析了Python中RSA加密、解密的實(shí)現(xiàn)方法及簽名、驗(yàn)證功能的使用技巧,需要的朋友可以參考下
    2017-07-07
  • Python在畫(huà)圖時(shí)使用特殊符號(hào)的方法總結(jié)

    Python在畫(huà)圖時(shí)使用特殊符號(hào)的方法總結(jié)

    在制作圖表時(shí),如果遇到需要利用特殊符號(hào)進(jìn)行表示時(shí)該怎么辦呢?不用慌,這篇文章為大家總結(jié)了python畫(huà)圖中使用各種特殊符號(hào)的方式,需要的可以參考一下
    2022-04-04

最新評(píng)論

义马市| 襄樊市| 瓮安县| 桂阳县| 治县。| 麟游县| 凌海市| 宾阳县| 大同市| 嘉黎县| 饶平县| 札达县| 阿坝县| 昌平区| 鄂托克前旗| 松滋市| 永善县| 大竹县| 尉氏县| 华池县| 龙岩市| 淅川县| 临夏县| 门源| 黄冈市| 苗栗县| 福安市| 眉山市| 榆林市| 和平区| 炎陵县| 乡宁县| 榆树市| 玛纳斯县| 饶河县| 建平县| 青川县| 多伦县| 徐闻县| 苍南县| 梓潼县|