在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 教程/ Python/ 排除應(yīng)用錯誤
應(yīng)用環(huán)境
配置管理
大型應(yīng)用
可插撥視圖
Flask 方案
在 Shell 中使用 Flask
針對高級程序員的前言
使用藍圖的模塊化應(yīng)用
部署方式
信號
排除應(yīng)用錯誤
模板
請求環(huán)境
掌握應(yīng)用錯誤
測試 Flask 應(yīng)用
前言
教程
安裝
快速上手
Flask 擴展

排除應(yīng)用錯誤

掌握應(yīng)用錯誤 一文所講的是如何為生產(chǎn)應(yīng)用設(shè)置日志和出錯通知。本文要 講的是部署中配置調(diào)試的要點和如何使用全功能的 Python 調(diào)試器深挖錯誤。

有疑問時,請手動運行

在生產(chǎn)環(huán)境中,配置應(yīng)用時出錯?如果你可以通過 shell 來訪問主機,那么請首先在部署環(huán)境中驗證是否可以通過 shell 手動運行你的應(yīng)用。請確保驗證時使用的帳戶與配置的相同,這樣可以排除用戶權(quán)限引發(fā)的錯誤。你可以在你的生產(chǎn)服務(wù)器上,使用 Flask 內(nèi)建的開發(fā)服務(wù)器,并且設(shè)置 debug=True ,這樣有助于找到配置問題。但是,請只能在可控的情況下臨時這樣做 ,絕不能在生產(chǎn)時使用 debug=True 。

使用調(diào)試器

為了更深入的挖掘錯誤,追蹤代碼的執(zhí)行, Flask 提供一個開箱即用的調(diào)試器(參見調(diào)試模式 )。如果你需要使用其他 Python 調(diào)試器,請注意調(diào)試器之間的干擾問題。在使用你自己的調(diào)試器前要做一些參數(shù)調(diào)整:

  • debug - 是否開啟調(diào)試模式并捕捉異常
  • use_debugger - 是否使用 Flask 內(nèi)建的調(diào)試器
  • use_reloader - 出現(xiàn)異常后是否重載或者派生進程
  • debug 必須設(shè)置為 True (即必須捕獲異常),另兩個隨便。

如果你正在使用 Aptana 或 Eclipse 排錯,那么 use_debugger 和 use_reloader 都必須設(shè)置為 False 。

一個有用的配置模式如下(當然要根據(jù)你的應(yīng)用調(diào)整縮進):

FLASK:
    DEBUG: True
    DEBUG_WITH_APTANA: True

然后,在應(yīng)用入口( main.py ),修改如下:

if __name__ == "__main__":
    # 為了讓 aptana 可以接收到錯誤,設(shè)置 use_debugger=False
    app = create_app(config="config.yaml")

    if app.debug: use_debugger = True
    try:
        # 如果使用其他調(diào)試器,應(yīng)當關(guān)閉 Flask 的調(diào)試器。
        use_debugger = not(app.config.get('DEBUG_WITH_APTANA'))
    except:
        pass
    app.run(use_debugger=use_debugger, debug=app.debug,
            use_reloader=use_debugger, host='0.0.0.0')

? Copyright 2013, Armin Ronacher. Created using Sphinx.

上一篇:部署方式下一篇:請求環(huán)境