Django调试方法两则
2010-07-18 20:25
211 查看
web程序调试起来和桌面程序有着很大的差别,对于Django程序来说调试更是个问题,虽然现在有第三方的调试工具robhudson-django-debug-toolbar,但使用起来并不是很方便,而且很多人习惯于通过print来调试,这样方便快捷。下面就介绍两种简单的调试方法:1.充分利用Django的error pageDjango的error page功能很强大,能提供详细的traceback,包括局部变量的值,以及一个纯文本的异常信息。拥有同phpinfo()一样的作用,可以展示当前应用的相关设置,包括请求中的 GET, POST and COOKIE 数据以及HTTP环境中的所有重要META fields。可以通过
assert Falseassert False, request.GET来触发Django的错误页面,进而进行调试工作2.输出log到开发服务器终端中借助python的logging模块在setting.py中添加如下配置
import logginglogging.basicConfig(level = logging.DEBUG,format = '%(asctime)s %(levelname)s %(message)s',)在需要输出log信息的地方可以这样调用
import logginglogging.debug("A log message")这样一来就能在开发服务器的终端中看到想要输出的log,如果想将log信息记录到指定文件中去,调整logging的basicConfig即可,如下所示:
logging.basicConfig(level = logging.DEBUG,format = '%(asctime)s %(levelname)s %(message)s',filename = '/tmp/myapp.log',filemode = 'w')有时我们发现我们的程序大部分情况下运行正常,只在特定环境中出现错误,此时可以使用traceback module 记录当前栈存信息
,方便调试。具体调用方法如下所示:
[code]import logging, traceback, pprintdef my_buggy_function(arg):...if error_condition:stack = pprint.pformat(traceback.extract_stack())logging.debug('An error occurred: %s' % stack)[/code]上述调试方法来源于网络,参见:http://simonwillison.net/2008/May/22/debugging/
相关文章推荐
- django的runserver调试方法
- 脱离django调试py文件的方法
- Django下测试与调试REST API的方法
- eclipse+pydev添加已存在django项目及其调试方法
- eclipse+pydev添加已存在django项目及其调试方法
- Django的调试方法
- 在主机商的共享服务器上部署Django站点的方法
- C语言调试手段:锁定错误的实现方法
- windbg设置双机调试的方法
- windows应用程序双机调试方法
- VC6.0 不能断点调试的解决方法 VC6.0没有debug模式
- wince驱动异常调试方法(作者:wogoyixikexie@gliet)
- chrome调试js方法
- 在Python的Django框架中生成CSV文件的方法
- Visual Basic串口通讯调试方法
- 设置在Release模式下调试的方法
- Django 连接Mysql的方法及常见问题
- 使用Django向网页的页面js中传递一个数组的方法
- chrome不能断点调试的解决方法