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

首頁 > 編程 > Python > 正文

在Python的Django框架中編寫錯誤提示頁面

2020-02-23 01:40:27
字體:
來源:轉載
供稿:網友

你應該在生產環境中把TEMPLATE_DEBUGFalse 如果這個設為`` True`` ,為了在那個好看的錯誤頁面上顯示足夠的東西,Django的模版系統就會為每一個模版保存一些額外的信息。
實現一個404模板

如果`` DEBUG`` 設置為`` True`` ,Django會顯示那個自帶的404錯誤頁面。 但如果`` DEBUG`` 被設置成`` False`` ,那它的行為就不一樣了: 他會顯示一個在你的模版根目錄中名字叫`` 404.html`` 的模版 所以,當你準備部署你的應用時,你會需要創建這個模版并在里面放一些有意義的“頁面未找到”的信息

這里有一個`` 404.html``的示例,你可以從它開始。 假定你使用的模板繼承并定義一個 `` base.html``,該頁面由titlecontent兩塊組成。

{% extends "base.html" %}{% block title %}Page not found{% endblock %}{% block content %}<h1>Page not found</h1><p>Sorry, but the requested page could not be found.</p>{% endblock %}

要測試你的404.html頁面是否正常工作,僅僅需要將DEBUG 設置為`` False`` ,并且訪問一個并不存在的URL。 (它將在`` sunserver`` 上工作的和開發服務器上一樣好)
實現一個500模板

類似的,如果`` DEBUG`` 設置為`` False`` ,Djang不再會顯示它自帶的應對未處理的Python異常的錯誤反饋頁面。 作為代替,它會查找一個名為`` 500.html`` 的模板并且顯示它。 像`` 404.html`` 一樣,這個模板應該被放置在你的模板根目錄下。

這里有一個關于500.html的比較棘手的問題。你永遠不能確定`` 為什么``會顯示這個模板,所以它不應該做任何需要連接數據庫,或者依賴任何可能被破壞的基礎構件的事情。 (例如:它不應該使用自定義模板標簽。)如果它用到了模板繼承,那么父模板也就不應該依賴可能被破壞的基礎構件。 因此,最好的方法就是避免模板繼承,并且用一些非常簡單的東西。 這是一個`` 500.html`` 的例子,可以把它作為一個起點:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"  "http://www.w3.org/TR/html4/strict.dtd"><html lang="en"><head>  <title>Page unavailable</title></head><body>  <h1>Page unavailable</h1>  <p>Sorry, but the requested page is unavailable due to a  server hiccup.</p>  <p>Our engineers have been notified, so check back later.</p></body></html>

設置錯誤警告

當你使用Django制作的網站運行中出現了異常,你會希望去了解以便于修正它。 默認情況下,Django在你的代碼引發未處理的異常時,將會發送一封Email至開發者團隊。但你需要去做兩件事來設置這種行為。

首先,改變你的ADMINS設置用來引入你的E-mail地址,以及那些任何需要被注意的聯系人的E-mail地址。 這個設置采用了類似于(姓名, Email)元組,像這樣:

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 锦州市| 镶黄旗| 横山县| 蓬莱市| 黔南| 根河市| 大邑县| 信宜市| 高邮市| 淮北市| 界首市| 扎赉特旗| 鄄城县| 涿州市| 曲靖市| 都昌县| 石门县| 辽中县| 和静县| 灵寿县| 保山市| 仪征市| 绥宁县| 尖扎县| 屏东县| 芦溪县| 凤凰县| 孙吴县| 洮南市| 宁德市| 庆元县| 九江市| 海城市| 布拖县| 柘荣县| 南宁市| 岱山县| 定日县| 边坝县| 乌鲁木齐市| 闸北区|