django-debug-toolbar的使用

简介及资源

django-debug-toolbar 是一组可配置的面板,可显示有关当前请求/响应的各种调试信息,并在单击时显示有关面板内容的更多详细信息。

github地址

文档地址

首先需要用pip3安装

pip3 install django-debug-toolbar

settings中的具体配置

0、特别注意,调试阶段需要把DEBUG设置为True

# SECURITY WARNING: don't run with debug turned on in production!
DEBUG = True

1、将 debug_toolbar 添加到 INSTALL_APPS 中

INSTALLED_APPS = [
    xxx
    'debug_toolbar',
]

2、在中间件中加入DebugToolbarMiddleware

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

3、如果是本机调试,还在将127.0.0.1加入 INTERNAL_IPS

INTERNAL_IPS = ['127.0.0.1', ]

4、配置jQuery的URL

django-debug-toolbar 默认使用的是Google的地址,默认配置如下:

JQUERY_URL = '//ajax.googleapis.com/ajax/libs/jquery/2.2.4/jquery.min.js'

国内用不了的话可以在settings.py中配置一下,例如:

DEBUG_TOOLBAR_CONFIG = {
    "JQUERY_URL": '//cdn.bootcss.com/jquery/2.2.4/jquery.min.js',
}

或者你如果在Django项目中使用了jquery的话就可以直接将这一项置为空,那么django-debug-toolbar 就会使用你项目中用到的jquery:

DEBUG_TOOLBAR_CONFIG = {
    "JQUERY_URL": '',
} 

URL中的配置

在DEBUG模式下:

from django.contrib import admin
from django.urls import path, re_path, include

from django.conf import settings

from djpro import views

urlpatterns = [
    path('admin/', admin.site.urls),
    path('index', views.index, name='index'),
]

if settings.DEBUG:
    import debug_toolbar

    urlpatterns += [re_path(r'^__debug__/', include(debug_toolbar.urls)),]

视图函数中注意不要用HttpResponse

视图函数的写法 —— 我这里用HttpResponse的话发现出不来调试的页面,需要使用render返回一个页面。

from django.shortcuts import render,HttpResponse,render

from djpro import models

def index(request):

    ret = models.Student.objects.filter(stu_class__name__contains='L').values()
    print(ret)

    return render(request,'index.html')

调试结果

上面的调试结果如下:

我们可以看到,打开调试洁面的SQL可以看到ORM转化的查询语句,这样有助于我们在实际中调试ORM的语句,提高程序的效率。 

原文地址:https://www.cnblogs.com/paulwhw/p/8610643.html