网站后端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)

# 调试区

说明: 当错误发生时会自动返回一个能获得错误上下文及可执行代码的调试界面,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/

flask的debug模式下,网页输入pin码进行调试的更多相关文章

  1. Flask 在 Debug 模式下初始化2次

    请移步: http://blog.zengrong.net/post/2632.html https://stackoverflow.com/questions/9449101/how-to-stop ...

  2. flask使用debug模式时,存在错误时,会占用设备内存直至服务重启才释放;debug模式会开启一个守护进程(daemon process)

    函数调用顺序flask的app.py的run-->werkzeug的serving.py的run_simple-->调用werkzeug的debug的__init__.py里的类Debug ...

  3. Debug模式下编译溢出问题

    问题: 代码在Debug模式下编译报出内存溢出的错误,而Release模式下则没有. 由于Debug模式下包含调试信息,并且不作任何优化.而Release模式进行了各种优化,内存检测等操作均省去,使得 ...

  4. 重写NSLog,Debug模式下打印日志和当前行数

    在pch文件中加入以下命令,NSLog在真机测试中就不会打印了 //重写NSLog,Debug模式下打印日志和当前行数 #if DEBUG #define NSLog(FORMAT, ...) fpr ...

  5. C++程序在debug模式下遇到Run-Time Check Failure #0 - The value of ESP was not properly saved across a function call问题。

    今天遇到一个Access Violation的crash,只看crash call stack没有找到更多的线索,于是在debug模式下又跑了一遍,遇到了如下的一个debug的错误提示框: 这个是什么 ...

  6. DEBUG模式下, 内存中的变量地址分析

    测试函数的模板实现 /// @file my_template.h /// @brief 测试数据类型用的模板实现 #ifndef MY_TEMPLATE_H_2016_0123_1226 #defi ...

  7. Intellij IDEA debug模式下项目启动慢/无法启动的事件解决过程记录

    项目无法启动了 简单的介绍一下事件过程:周一的早上,收到前端同事抛过来的一个任务,说是一个接口无法正常返回数据,于是就让他把参数发过来,我想试着在本地重现一下并且将问题修复掉,这种情况肯定是要通过de ...

  8. Myeclipse在debug模式下没加断点程序卡住,start模式下可以正常启动

    参考<eclipse在debug模式下卡住,start模式下可以启动>,地址:https://blog.csdn.net/jack_chen1994/article/details/761 ...

  9. eclipse的debug模式下启动不了tomcat

    使用eclipse启动tomcat,正常模式下可以启动tomcat,却在debug模式下无法启动tomcat. 这个问题可能是由于eclipse和tomcat的交互而产生的,在以debug模式启动to ...

随机推荐

  1. LeetCode 买卖股票的最佳时机 II

    给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格. 设计一个算法来计算你所能获取的最大利润.你可以尽可能地完成更多的交易(多次买卖一支股票). 注意:你不能同时参与多笔交易(你必须在再次 ...

  2. Python赋值运算及流程控制

    1. 内置函数 1> len:统计元素长度 str1 = 'wonderful' print(len(str1)) result: li = [,,] print(len(li)) result ...

  3. 详解css媒体查询

    简介 媒体查询(Media Queries)早在在css2时代就存在,经过css3的洗礼后变得更加强大bootstrap的响应式特性就是从此而来的. 简单的来讲媒体查询是一种用于修饰css何时起作用的 ...

  4. mysql 审核引擎 goInception 的基本使用

    官网地址 github.com 安装 git clone https://github.com/hanchuanchuan/goInception.git cd goInception 修改配置 开启 ...

  5. stm32单片机的C语言优化

    对于有些单片机,自身容量是很有限的,有的仅仅只有8k.16k的flash等,但是对32位mcu来说,这点空间实在有点小.不像计算机一样内存和rom都很多,因此有时候就需要进行代码优化.大家都知道,单片 ...

  6. centos 装 android studio

    一.安装前的准备 1.1.如果你还没有安装ubuntu 14.04 LTS系统,请参考下面的文章安装 http://blog.csdn.net/lsyz0021/article/details/521 ...

  7. 【Spring和SpringMVC】自动扫描注解类的问题

    尊重原创原文链接:http://blog.csdn.net/u014277445/article/details/52282697 Spring MVC项目中通常会有二个配置文件,spring-ser ...

  8. D. Frequent values

    D. Frequent values Time Limit: 3000ms Case Time Limit: 3000ms Memory Limit: 131072KB   64-bit intege ...

  9. [android开放篇] wifi-direct接口网址

    http://www.android-doc.com/guide/topics/connectivity/wifip2p.html

  10. Manthan, Codefest 17

    A. Tom Riddle's Diary time limit per test 2 seconds memory limit per test 256 megabytes input standa ...