日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

Django View使用装饰器捕获数据库连接异常

發布時間:2025/3/21 数据库 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Django View使用装饰器捕获数据库连接异常 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

“來不及解釋了”,直接上代碼。

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 from?django.shortcuts?import?render,?redirect from?models?import?Hosts from?django?import?forms #?Create?your?views?here. def?database_error(request,?message): ????if?message?==?''?or?message?is?None: ????????message?=?'Error?detail?is?not?given.' ????context?=?{ ????????'database_error':?message, ????} ????return?render(request,?'exception/error.html',?context) def?database_error_decorator(func): ????from?functools?import?wraps ????from?django.utils.decorators?import?available_attrs ????def?decorator(view_func): ????????@wraps(view_func,?assigned=available_attrs(view_func)) ????????def?_wrapped_view(request,?*args,?**kwargs): ????????????try: ????????????????return?view_func(request,?*args,?**kwargs) ????????????except?Exception?as?e: ????????????????return?database_error(request,?message=e.message) ????????return?_wrapped_view ????return?decorator(func) @database_error_decorator def?list_hosts(request): ????hosts?=?Hosts.objects.order_by('-hosts_hosts') ????context?=?{ ????????'hosts':?hosts ????} ????return?render(request,?'inventory/hosts/list_hosts.html',?context)

????如果因為數據庫連接異常或者數據庫上的原因導致view無法獲取數據庫中的內容所產生的報錯如果直接打印給用戶,則用戶可能一頭霧水,用戶體驗很不友好。因此如果可能的話可以在應用啟動前一個簡單的自檢,檢查數據庫是否可以正常連接等,但是這種檢查一般不夠細致到檢查數據庫中的某個表某個column是否存在,那么是時候該捕獲一下這些異常了。

????如果每一個view中的每一個與數據庫相關的def都去重復捕獲這些異常,顯然不是一個很好的做法。一個比較好的做法就是使用裝飾器來捕獲這些異常。裝飾器的寫法完全可以參照“from django.contrib.auth.decorators import login_required”中的寫法,本文的例子也是參照這一寫法。其實每一個種編程學習起來都是相似的,無論是Shell還是Python,自帶的方法中給出了很多好的示例供我們學習,不重復制造輪子,站在巨人的肩膀上能看的更遠!

tag:裝飾器捕獲異常,裝飾器,異常

--end--



本文轉自 urey_pp 51CTO博客,原文鏈接:http://blog.51cto.com/dgd2010/1872599,如需轉載請自行聯系原作者


總結

以上是生活随笔為你收集整理的Django View使用装饰器捕获数据库连接异常的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 欧州一区二区三区 | 天天干天天操天天操 | 欧美性猛交ⅹxx | 欧美日韩在线观看一区二区三区 | 欧美一级在线视频 | 成人影视免费观看 | av资源部| av噜噜噜 | 免费人成又黄又爽又色 | 亚洲一区二区在线看 | 全黄一级男人和女人 | 亚洲精品一区久久久久久 | 久久人妻少妇嫩草av无码专区 | 国产乱码精品一区二三区蜜臂 | 含羞草一区二区三区 | 夜夜艹天天干 | 激情欧美一区二区 | 日日夜夜撸撸 | av资源网在线观看 | 欧美高清不卡 | 国产91美女视频 | 五月天天 | 五月依人网 | 青青操狠狠干 | 一区二区天堂 | 极品少妇xxxx精品少妇偷拍 | www色日本 | 午夜精 | 日本一级吃奶淫片免费 | 在线观看日本一区二区 | 影音先锋在线中文字幕 | 91n在线观看| 中文字幕天堂网 | 五十路母 | 亚洲毛片网| 国产情侣露脸自拍 | 在线免费观看国产视频 | 国产欧美精品一区二区三区app | 日日夜夜艹| 日本aaa视频 | 亚洲欧美动漫 | 蜜臀av无码一区二区三区 | 亚洲最色网站 | 色盈盈影院 | 蜜臀av性久久久久av蜜臀妖精 | 伊人久久中文字幕 | 一区二区在线视频免费观看 | 久久夜色精品国产欧美乱极品 | 亚洲精品国产精品乱码不卡√香蕉 | 99热一区二区 | 麻豆免费网站 | 日本免费视频 | 欧美亚洲视频在线观看 | 午夜免费看视频 | 激情五月婷婷久久 | 精品人妻无码一区二区三区换脸 | 9.1在线观看免费 | 亚洲av日韩av不卡在线观看 | 狠狠操综合网 | 精品人妻少妇一区二区三区 | 日本午夜免费福利视频 | 国产精品视频h | 69国产精品视频免费观看 | 亚洲av无码专区在线电影 | 毛片毛片毛片毛片毛片毛片毛片毛片毛片 | 天堂色综合| 99热这里只有精品在线 | 久久精品99国产国产精 | 一区亚洲 | 小明成人免费视频 | 日韩人妻无码一区二区三区99 | 久久久久久69 | 免费视频久久 | 黄网站免费在线观看 | 麻豆出品 | 中文字幕激情 | 国产妇女视频 | 久久窝窝 | 国产偷v| 中文字幕丰满乱子伦无码专区 | 亚洲情趣 | 免费三级av | 国产在线v | 91av官网| 欧美黄色一级视频 | 日韩精品欧美精品 | 国产成人区 | 91色噜噜| 殴美黄色大片 | 欧美日韩一区二区视频观看 | 色www亚洲国产张柏芝 | 一级片a级片| 日韩久久一区二区 | 亚洲一区二区成人 | 青草99| 黑人巨大xxxxx性猛交 | 久久免费成人 | 黄色观看网站 | 色老头网址|