真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Bottle框架源碼學習三-創(chuàng)新互聯(lián)

def run(app=None, server='wsgiref', host='127.0.0.1', port=8080,
        interval=1, reloader=False, quiet=False, plugins=None,
        debug=None, **kargs):

今天要學習一下bottle里是怎樣打印debug信息的

成都創(chuàng)新互聯(lián)公司2013年開創(chuàng)至今,是專業(yè)互聯(lián)網(wǎng)技術服務公司,擁有項目網(wǎng)站建設、網(wǎng)站設計網(wǎng)站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元白銀做網(wǎng)站,已為上家服務,為白銀各地企業(yè)和個人服務,聯(lián)系電話:18980820575

run函數(shù)的倒數(shù)第二個參數(shù)是debug,默認為None

try:
    if debug is not None: _debug(debug)

如果設置了debug的值,且不為None,則運行_debug函數(shù)

_debug = debug

_debug函數(shù)是debug函數(shù)的別名,因為和run里的debug變量同名,為了區(qū)別,所以用_debug這個名稱

def debug(mode=True):
    """ Change the debug level.
    There is only one debug level supported at the moment."""
    global DEBUG
    if mode: warnings.simplefilter('default')
    DEBUG = bool(mode)

globa DEBUG這句的作用是聲明DEBUG這個變量是全局變量,由于要修改它的值,如果不聲明為全局變量,則會將DEBUG定義為本函數(shù)內(nèi)的局部變量。

if mode: warnings.simplefilter('default')

warnings.simplefilter定義簡單過濾器,如果mode為真,則warnings的過濾器為default,以下是幾種過濾器參數(shù),特別要說明的是error過濾器,如果應用了這個過濾器,一旦產(chǎn)生警告信息,則當成錯誤來處理,不再執(zhí)行后面的語句。

  • Value

    Disposition

    "error"

    turn matching warnings into exceptions

    "ignore"

    never print matching warnings

    "always"

    always print matching warnings

    "default"

    print the first occurrence of matching warnings for each location where the warning is issued

    "module"

    print the first occurrence of matching warnings for each module where the warning is issued

    "once"

    print only the first occurrence of matching warnings, regardless of location

好了,大概用法已經(jīng)看懂,再看bottle是怎樣應用的

# -*- coding=utf-8 -*-
from bottle import Bottle, run

app = Bottle()

@app.route('/hello')
def hello():
    raise Exception("this is my error")
    return "Hello World!"

run(app, host='localhost', port=8080, reloader=True, debug=True)

將debug設置為True, 并在hello函數(shù)里手工制造一個異常。

瀏覽器里訪問http://localhost:8080/hello

結果如下:

Error: 500 Internal Server Error

Sorry, the requested URL 'http://localhost:8080/hello' caused an error:

Internal Server Error

Exception:

Exception('this is my error',)

Traceback:

Traceback (most recent call last):
  File "C:\Python27\lib\site-packages\bottle.py", line 862, in _handle
    return route.call(**args)
  File "C:\Python27\lib\site-packages\bottle.py", line 1740, in wrapper
    rv = callback(*a, **ka)
  File "D:/myproject/bottleApp/main.py", line 8, in hello
    raise Exception("this is my error")
Exception: this is my error

看模板源碼是怎樣設置的


    

Error: `e`.`status`

    

Sorry, the requested URL {{repr(request.url)}}        caused an error:

    
`e`.`body`
    %%if DEBUG and e.exception:       

Exception:

      
{{repr(e.exception)}}
    %%end     %%if DEBUG and e.traceback:       

Traceback:

      
`e`.`traceback`
    %%end

注:如果debug=False,則不會輸出Traceback信息,生產(chǎn)環(huán)境一般是要關閉的,開發(fā)的時候打開方便排錯。

另外有需要云服務器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。


網(wǎng)站名稱:Bottle框架源碼學習三-創(chuàng)新互聯(lián)
本文鏈接:http://weahome.cn/article/cdeshh.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部