Monday, December 29, 2008

Django 调试工具

当你运行Django程序的时候你是否想知道:
  1. 当前页面使用了哪些模板?
  2. 当前页面是否执行了SQL,如果是执行的SQL是什么(Django把SQL封装了,但是我还是想看看SQL到底是怎么执行的)?
  3. 当前的会话里有些什么?
  4. 日志...
等等这些有用的调试信息。如果是,那么下面我要给你介绍的工具就是你想要的。Django debug tools bar
下面看看如何安装并使用它。
  1. 首先,我们需要下载最新版本的DjangoDebugToolsBar。下载的是一个压缩文件,把它解压缩到你磁盘上的一个位置。
  2. 然后我们准备安装。安装的方式有两种:如果你有python setuptools 那么可以直接运行其中的setup.py。否则,你可以直接将其中的debug_toolbar文件夹及其下面所有的内容加入到你的Python路径中。一个简单的方法是把它直接复制到C:\Python26\Lib\site-packages\  下面。
  3. 然后打开你的Django项目,找到settings.py文件加入一个新的middleware:           'debug_toolbar.middleware.DebugToolbarMiddleware'      注意这里的middleware在MIDDLEWARE_CLASSES中的位置是非常重要的,你应该把它放在所有其它的middleware下面。
  1. 接下来要做的是加入一个INTERNAL_IPS = ('127.0.0.1',) 变量,他定义了你在调试Django是使用的IP是什么。
  2. 把debug_toolbar加入到INSTALLED_APPS中
  3. 在TEMPLATE_DIRS中加入'path/to/debug_toolbar/templates'
  4. 最后新增一个DEBUG_TOOLBAR_PANELS元组,他用于指定你在Django Debug ToolsBar上显示的内容,下面是一个例子:
     DEBUG_TOOLBAR_PANELS = (
   'debug_toolbar.panels.version.VersionDebugPanel',
   'debug_toolbar.panels.timer.TimerDebugPanel',
   'debug_toolbar.panels.settings_vars.SettingsVarsDebugPanel',
   'debug_toolbar.panels.headers.HeaderDebugPanel',
   'debug_toolbar.panels.request_vars.RequestVarsDebugPanel',
   'debug_toolbar.panels.template.TemplateDebugPanel',
   'debug_toolbar.panels.sql.SQLDebugPanel',
   'debug_toolbar.panels.cache.CacheDebugPanel',
   'debug_toolbar.panels.logger.LoggingPanel',
)
你在这里也可以调整他们的显示顺序或者编写一个用于你自己项目的调试组件。下面是我装了这个工具后的页面截图:


No comments: