flask的debug模式下,網頁輸入pin碼進行調試


  網站后端Python+Flask .FLASK調試模式之開啟DEBUG與PIN使用?

 

 

 

 

自動加載:

# 方式一


1
2
if  __name__  = =  '__main__' :
     app.run(host = '0.0.0.0' , port = 9000 , debug = True )

# 方式二


1
2
3
if  __name__  = =  '__main__' :
     app.debug  =  True
     app.run(host = '0.0.0.0' , port = 9000 )

說明: 可通過如上兩種方式開啟調試模式,調試模式下PY文件被修改會自動重新加載,資源文件/模版文件/配置文件修改必須重啟生效~這個確實木有辦法~

 

異常調試:

# 代碼區


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#!/usr/bin/env python
# -*- coding: utf-8 -*-
"""
#
# Authors: limanman
# 51CTOBG: http://xmdevops.blog.51cto.com/
# Purpose:
#
"""
# 說明: 導入公共模塊
from  flask  import  Flask
# 說明: 導入其它模塊
app  =  Flask(__name__)
@app .route( '/' )
def  hello_word():
     return  None
if  __name__  = =  '__main__' :
     app.run(host = '0.0.0.0' , port = 9000 , debug = True )

 

# 顯示區


1
2
3
4
* Restarting with stat
  * Debugger is active!
  * Debugger pin code: 160-043-266
  * Running on http://0.0.0.0:9000/ (Press CTRL+C to quit)

 

# 調試區

wKioL1gPaj3DDVc0AAAiPGqyUOo428.png

說明: 當錯誤發生時會自動返回一個能獲得錯誤上下文及可執行代碼的調試界面,WerkZeug為了安全性,在啟動時會生成一個隨機的PIN私人認證碼,當第一次啟動調試器進入錯誤堆棧模式時會強制輸入PIN碼,然后WerkZeug會將其存儲在COOKIE中,失效時間為8小時

 

 在頁面的console控制台中,可以使用dump()打印出堆棧信息,使用dump(obj)打印某個地址的堆棧信息

 

在有些flask項目的控制台,如果看不到pin的信息“Debugger pin code: 323-115-793”,那么試着去日志里查看,因為這些信息會默認寫入根log日志里

其實,一旦引入日志模塊logging,控制台的很多信息(訪問網站記錄url、訪問數據庫信息、異常信息等)都會默認寫入根log日志文件中

 

參考:

1、http://blog.51cto.com/xmdevops/1865636

2、http://werkzeug.pocoo.org/docs/0.13/debug/


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM