django监控工具django-debug-toolbar

DjDT

Django 的使用能够容易的以更少的代码更快地构建更好的 Web 应用程序.
调试与优化时,我们常常想知道比如以下问题:

  1. 执行了多少条 SQL 语句,花费的时间,每次每条语句查询的时间
  2. 渲染页面的模板是哪些,渲染时间
  3. 缓存是否影响性能
    django-debug-toolbar 是一款非常强大的 Django 的性能检测工具,官方网站
    https://django-debug-toolbar.readthedocs.io/en/latest/。
    因为项目需要,实际实践了一下,效果还可以。
    先放图,再列出具体步骤。
    [图片上传中...(image.png-282829-1604389355276-0)]

操作步骤:

  1. 安装依赖库.
pip install django-debug-toolbar==3.1
pip install django-debug-toolbar-request-history==0.1.3
  1. 修改一些必要的代码:
    第一:INSTALLED_APPS
INSTALLED_APPS = (
    ......
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'library.apps.libraryConfig',
    'debug_toolbar',
)

第二:MIDDLEWARE

MIDDLEWARE = [
    'debug_toolbar.middleware.DebugToolbarMiddleware',
     ...... 
]

第三:url。这里一般使用debug模式时生效,注:非必须debug

if settings.DEBUG:
    import debug_toolbar
    urlpatterns = [
        url(r'^__debug__/', include(debug_toolbar.urls)),
    ] + urlpatterns
  1. 这时启动服务,刷新页面应该就能看到效果了

DjDT权限配置?
官网推荐使用INTERNAL_IPS配置

INTERNAL_IPS = [
    # ...
    '127.0.0.1',
    # ...
]

也可以自定义show_toolbar回调函数 官方文档中有,类似

def show_toolbar(request):
    """
    Default function to determine whether to show the toolbar on a given page.
    """
    dt_members = DTMember()
    cookie_str = str(getattr(request, 'COOKIES', ''))

    for check_key in dt_members.get_user_name():
            return True
       
    return False

你可能感兴趣的:(django监控工具django-debug-toolbar)