使用 Django-debug-toolbar 优化Query 提高代码效率
一段程序执行效率慢,除了cpu计算耗时外,还有一个很重要的原因是SQL的Duplicated过多,使用Django-debug-toolbar能够快速找出哪些地方的SQL可以优化,提高程序执行效率
1. 安装 Django-debug-toolbar:
pip install django-debug-toolbar
2. 在Django项目中创建APP用于toolbar测试:
toolbar_test
- __init__.py
- templates
- toolbar.html
views.py
views.py
# coding: utf-8
from django.shortcuts import render
from xxx.utils import func_for_toolbar
def toolbar_view(request):
# 需要测试的功能函数
func = func_for_toolbar()
return render(request, "toolbar.html", locals())
toolbar.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
</body>
</html>
3. 在Django项目的settings中配置Django-debug-toolbar:
INSTALLED_APPS += (
'debug_toolbar',
'toolbar_test',
)
MIDDLEWARE_CLASSES += (
'debug_toolbar.middleware.DebugToolbarMiddleware',
)
CONFIG_DEFAULTS = {
# google的jquery 国内可能不能访问 所以这里用 国内的cdn
'JQUERY_URL': '//cdn.bootcss.com/jquery/2.1.4/jquery.min.js',
}
# 这些请求地址显示debug toolbar(注:后面的2个地址是我本地请求地址)
INTERNAL_IPS = (
"127.0.0.1",
"192.168.xxx.x",
"192.168.xxx.xx."
)
4. 配置url:
import debug_toolbar
from toolbar_test.views import toolbar_view
urlpatterns = [
url(r'^toolbar_view$', toolbar_view),
] + urlpatterns
5. 访问 url http://192.168.xx.xx:80xx/toolbar_view:
Duplicates次数越多 表示需要着重优化