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

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

 更新時間:2015年07月22日 09:36:31   投稿:goldensun  
這篇文章主要介紹了在Python的Django框架中編寫錯誤提示頁面,包括傳統(tǒng)的404頁面和設(shè)置連接中斷警告等,需要的朋友可以參考下

你應(yīng)該在生產(chǎn)環(huán)境中把TEMPLATE_DEBUGFalse 如果這個設(shè)為`` True`` ,為了在那個好看的錯誤頁面上顯示足夠的東西,Django的模版系統(tǒng)就會為每一個模版保存一些額外的信息。
實現(xiàn)一個404模板

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

這里有一個`` 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 設(shè)置為`` False`` ,并且訪問一個并不存在的URL。 (它將在`` sunserver`` 上工作的和開發(fā)服務(wù)器上一樣好)
實現(xiàn)一個500模板

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

這里有一個關(guān)于500.html的比較棘手的問題。你永遠(yuǎn)不能確定`` 為什么``會顯示這個模板,所以它不應(yīng)該做任何需要連接數(shù)據(jù)庫,或者依賴任何可能被破壞的基礎(chǔ)構(gòu)件的事情。 (例如:它不應(yīng)該使用自定義模板標(biāo)簽。)如果它用到了模板繼承,那么父模板也就不應(yīng)該依賴可能被破壞的基礎(chǔ)構(gòu)件。 因此,最好的方法就是避免模板繼承,并且用一些非常簡單的東西。 這是一個`` 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>

設(shè)置錯誤警告

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

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

ADMINS = (
  ('John Lennon', 'jlennon@example.com'),
  ('Paul McCartney', 'pmacca@example.com'),
)

第二,確保你的服務(wù)器配置為發(fā)送電子郵件。 設(shè)置好postfix,sendmail或其他本書范圍之外但是與Django設(shè)置相關(guān)的郵件服務(wù)器,你需要將將 EMAIL_HOST設(shè)置為你的郵件服務(wù)器的正確的主機名. 默認(rèn)模式下是設(shè)置為'localhost', 這個設(shè)置對大多數(shù)的共享主機系統(tǒng)環(huán)境適用. 取決于你的安排的復(fù)雜性,你可能還需要設(shè)置 EMAIL_HOST_USER,EMAIL_HOST_PASSWORD,EMAIL_PORT或EMAIL_USE_TLS。

你還可以設(shè)置EMAIL_SUBJECT_PREFIX以控制Django使用的 error e-mail的前綴。 默認(rèn)情況下它被設(shè)置為'[Django] '
設(shè)置連接中斷警報

如果你安裝有CommonMiddleware(比如,你的MIDDLEWARE_CLASSES設(shè)置包含了'django.middleware.common.CommonMiddleware'的情況下,默認(rèn)就安裝了CommonMiddleware),你就具有了設(shè)置這個選項的能力:有人在訪問你的Django網(wǎng)站的一個非空的鏈接而導(dǎo)致一個404錯誤的發(fā)生和連接中斷的情況,你將收到一封郵件. 如果你想激活這個特性,設(shè)置SEND_BROKEN_LINK_EMAILS 為True(默認(rèn)為False),并設(shè)置你的MANAGERS為某個人或某些人的郵件地址,這些郵件地址將會收到報告連接中斷錯誤的郵件. MANAGERS使用和ADMINS 同樣的語法.例如:

MANAGERS = (
  ('George Harrison', 'gharrison@example.com'),
  ('Ringo Starr', 'ringo@example.com'),
)

請注意,錯誤的Email會令人感到反感,對于任何人來說都是這樣。

相關(guān)文章

  • 10個示例帶你掌握python中的元組

    10個示例帶你掌握python中的元組

    這篇文章主要介紹了python中的元組的相關(guān)資料,幫助大家更好的理解和使用python,感興趣的朋友可以了解下
    2020-11-11
  • Python3日期與時間戳轉(zhuǎn)換的幾種方法詳解

    Python3日期與時間戳轉(zhuǎn)換的幾種方法詳解

    我們可以利用內(nèi)置模塊 datetime 獲取當(dāng)前時間,然后將其轉(zhuǎn)換為對應(yīng)的時間戳。這篇文章主要介紹了Python3日期與時間戳轉(zhuǎn)換的幾種方法,需要的朋友可以參考下
    2019-06-06
  • Python獲取瀏覽器窗口句柄過程解析

    Python獲取瀏覽器窗口句柄過程解析

    這篇文章主要介紹了Python獲取瀏覽器窗口句柄過程解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-07-07
  • 利用Python讀取微信朋友圈的多種方法總結(jié)

    利用Python讀取微信朋友圈的多種方法總結(jié)

    這篇文章主要給大家介紹了關(guān)于如何利用Python讀取微信朋友圈的多種方法,對于一個新手來說如果單獨的去爬取朋友圈的話,難度會非常大,可以借鑒這篇文章的內(nèi)容,需要的朋友可以參考下
    2021-08-08
  • 教你怎么用Python實現(xiàn)GIF動圖的提取及合成

    教你怎么用Python實現(xiàn)GIF動圖的提取及合成

    今天教大家一個Python有趣好玩的小功能:將多張圖片轉(zhuǎn)為GIF,同時也可以將一個GIF動圖提取出里面的圖片,文中有非常詳細(xì)的介紹及代碼示例,需要的朋友可以參考下
    2021-06-06
  • Python實現(xiàn)的遠(yuǎn)程文件自動打包并下載功能示例

    Python實現(xiàn)的遠(yuǎn)程文件自動打包并下載功能示例

    這篇文章主要介紹了Python實現(xiàn)的遠(yuǎn)程文件自動打包并下載功能,結(jié)合實例形式分析了Python使用spawn()方法執(zhí)行ssh、scp 命令實現(xiàn)遠(yuǎn)程文件的相關(guān)操作技巧,需要的朋友可以參考下
    2019-07-07
  • Python中__slots__屬性介紹與基本使用方法

    Python中__slots__屬性介紹與基本使用方法

    在Python中,每個類都有實例屬性。默認(rèn)情況下Python用一個字典來保存一個對象的實例屬性。這非常有用,因為它允許我們在運行時去設(shè)置任意的新屬性。下面這篇文章主要給大家介紹了關(guān)于Python中__slots__屬性與基本使用方法的相關(guān)資料,需要的朋友可以參考下
    2018-09-09
  • 初步講解Python中的元組概念

    初步講解Python中的元組概念

    這篇文章主要介紹了初步講解Python中的元組概念,是Python入門中的基礎(chǔ)知識,需要的朋友可以參考下
    2015-05-05
  • 解決Django layui {{}}沖突的問題

    解決Django layui {{}}沖突的問題

    今天小編就為大家分享一篇解決Django layui {{}}沖突的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-08-08
  • 詳細(xì)介紹Python函數(shù)中的默認(rèn)參數(shù)

    詳細(xì)介紹Python函數(shù)中的默認(rèn)參數(shù)

    這篇文章主要介紹了詳細(xì)介紹Python函數(shù)中的默認(rèn)參數(shù),包括默認(rèn)參數(shù)的傳遞和求值等內(nèi)容,需要的朋友可以參考下
    2015-03-03

最新評論

什邡市| 桐柏县| 武鸣县| 方城县| 宁河县| 尉犁县| 龙山县| 夏邑县| 萨嘎县| 玉门市| 西吉县| 东平县| 洛阳市| 宁乡县| 汉中市| 焉耆| 东明县| 宁波市| 庆元县| 东辽县| 虎林市| 丰台区| 桐城市| 灯塔市| 英吉沙县| 简阳市| 绍兴县| 西贡区| 栖霞市| 贺兰县| 枣庄市| 呈贡县| 昔阳县| 宁远县| 巴林右旗| 舟山市| 合山市| 兰州市| 南川市| 巴南区| 宁明县|