django debug-tools

Posted 诛仙物语

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了django debug-tools相关的知识,希望对你有一定的参考价值。

我这里是python1.6。 1.7的配置有点小改动,具体看文档

安装

使用pip安装

pip install django-debug-toolbar
  • 1
  • 2

参考地址

配置

基本配置

修改settings.py 中的配置

添加app,INSTALLED_APPS添加

INSTALLED_APPS = (
    # ...
    ‘django.contrib.staticfiles‘,
    # ...
    # If you‘re using Django 1.7.x or later
    ‘debug_toolbar.apps.DebugToolbarConfig‘,
    # If you‘re using Django 1.6.x or earlier
    ‘debug_toolbar‘,
)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

还要设置成debug模式

DEBUG = True
  • 1
  • 2

文档中说这种配置方式使用runserver 可以,但是其他方式启动可能需要就要更多的配置了。 
详细参照 这部分文档。

还有一些高级的自定义配置 configuration. 或者 更多更详细的配置

使用

这里我们就使用默认的配置

启动django的开发服务器。 进入项目中

  • 发现浏览的又上方有个图标,如下图: 
    技术分享图片

  • 点击图标可以看到debug的一些选项如下图。 
    技术分享图片

  • 我们来查看下sql的执行(下图),可以看到sql的执行总时间,多少条,每个sql的执行时间,sql语句等等。 还是很详细的。 
    技术分享图片

小结

从试用的角度来看,debug-tool还是很强大的,给我们的开发和调试带来很多的方面。

jquery配置

今天使用的时候发现里面默认的jquery配置是google的cdn,由于f的原因,我们在settings中配置一个非国外的源

DEBUG_TOOLBAR_CONFIG = {
    ‘JQUERY_URL‘ : "http://code.jquery.com/jquery-2.1.1.min.js"
}
  • 1
  • 2
  • 3
  • 4

这样就可以正常使用了。

结合 Pympler 显示内存使用情况

Pympler 是一个用来查看,监控Python 对象内存的一个开发工具。

安装Pymperl

直接使用pip安装就行

pip install pympler
  • 1

配置

settings.py 文件中需要增加2个配置项

DEBUG_TOOLBAR_PANELS = (
    ‘debug_toolbar.panels.timer.TimerDebugPanel‘,  #这里只选择了一个panels,内置的还有很多
    ‘pympler.panels.MemoryPanel‘,
    )

INSTALLED_APPS = INSTALLED_APPS + (‘debug_toolbar‘, ‘pympler‘)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

查看效果

技术分享图片

django-debug-tools 的panel中会增加一项Memory的按钮,点击就能看到内存使用的情况了。

其中一个问题是debug-toolbar需要jquery支持,在debug-toolbar的settings里定义了这么一句话:

‘JQUERY_URL‘: ‘//ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js,





以上是关于django debug-tools的主要内容,如果未能解决你的问题,请参考以下文章

django.core.exceptions.ImproperlyConfigured: Requested setting DEFAULT_INDEX_TABLESPACE的解决办法(转)(代码片段

django.core.exceptions.ImproperlyConfigured: Requested setting DEFAULT_INDEX_TABLESPACE的解决办法(转)(代码片段

Django REST框架--认证和权限

如何在 Django 中显式重置模板片段缓存?

使用 Django 模板作为片段

python 通过django片段很多很多