使用 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次数越多 表示需要着重优化

原文地址:https://www.cnblogs.com/FG123/p/9454971.html

时间: 2024-11-05 20:30:13

使用 Django-debug-toolbar 优化Query 提高代码效率的相关文章

Django-梦猪自助多功能平台-主页显示篇/The fuck/Django Debug Toolbar

1.老生常谈,项目创建 djangoadmin startproject MZMARKET djangoadmin startapp App # setting修改 # 允许所有IP访问 ALLOWED_HOSTS = ["*"] # App注册, debug_toolbar注册 INSTALLED_APPS = [ 'App', 'debug_toolbar', ] # 中间件注册debug_toolbar MIDDLEWARE = [ 'debug_toolbar.middlewa

【Django】Django Debug Toolbar调试工具配置

正在发愁怎么调试Django,就遇到了Django Debug Toolbar这个利器. 先说遇到的问题: 网上也有教程,不过五花八门的,挨个尝试了一遍,也没有成功运行.最后终于找到问题所在: 从开发服务器日志可知:在请求页面时,debug_toolbar已经被加载.但是并没有在页面上显示出来: 从浏览器的开发者工具可以看出,jquery.min.js获取超时,没有被加载成功.这就是问题所在. 我们在settings.py中添加一行: 1 DEBUG_TOOLBAR_CONFIG = { 'JQ

理解CPU分支预测,提高代码效率

摘要: 技术传播的价值,不仅仅体现在通过商业化产品和开源项目来缩短我们构建应用的路径,加速业务的上线速率,也会体现在优秀程序员在工作效率提升.产品性能优化和用户体验改善等小技巧方面的分享,以提高我们的工作能力. 技术传播的价值,不仅仅体现在通过商业化产品和开源项目来缩短我们构建应用的路径,加速业务的上线速率,也会体现在优秀程序员在工作效率提升.产品性能优化和用户体验改善等小技巧方面的分享,以提高我们的工作能力. 从本期开始,我们将邀请来自阿里巴巴各个技术团队的程序员,涵盖中间件.前端.移动开发.

前端程序员的蜕变——JS的 event 对象属性、使用实例、兼容性处理(极大提高代码效率、减少代码量)

下面讨论一下 js 中的 Event 对象,主要从以下三个方面详细的描述(点击标题可跳转到对应部分): 1.什么是event 2.怎么用event,用他该注意什么,几个简单实际应用 3.event在不同浏览器的存在的兼容问题,及如何去解决  1.  什么是event Event 对象代表事件的状态,比如事件在其中发生的元素.键盘按键的状态.鼠标的位置.鼠标按钮的状态等等.说的通俗一点就是,event是JS的一个系统内置对象.平时无法使用,当DOM元素发生按键.鼠标等等各种事件时,系统会自动根据D

django debug toolbar jquery加载配置

默认加载谷歌cdn的jquery: 显然国内是会悲剧的. 破解方案: 在settings.py中增加以下配置: DEBUG_TOOLBAR_CONFIG = {"JQUERY_URL": "http://code.jquery.com/jquery-2.1.1.min.js"}

使用vue做项目如何提高代码效率

最近做了两个vue项目,算上之前做的两个项目,总共有四个vue项目的经验了,但是总体来说写的代码质量不是很高,体现在以下几点 1.代码没有高效的复用 自从使用vue做项目之后,以前使用面向过程变成的习惯随之被面向对象取代了,这是一个很好的转变,让代码看起来不是那么混乱了,但是不混乱并不代表质量高,比如实现一个检验输入是否有效的功能写的代码很长,而且重复代码很多例如: function checkInput(data) {let isTrue;if(!data.date) { this.$mess

OutputCache缓存优化asp.net代码 提高网页性能

对于asp.net编写的网页来说,使用缓存是一种非常重要也是很常用的优化技术,它可以大大减轻服务器的负载压力,优化这些网页的性能,在网与使用 .NET Framework 的任何其他功能相比,适当地使用缓存可以更好地提高站点的性能.同时,在网页加速显示上也起了很大的作用. OutputCache以声明的方式控制 ASP.NET 页或页中包含的用户控件的输出缓存策略. 语法: <%@ OutputCache Duration="#ofseconds"   Location=&quo

android内存优化3—从代码角度进行优化

通常我们写程序,都是在项目计划的压力下完成的,此时完成的代码可以完成具体业务逻辑,但是性能不一定是最优化的.一般来说,优秀的程序员在写完代码之后都会不断的对代码进行重构.重构的好处有很多,其中一点,就是对代码进行优化,提高软件的性能.下面我们就从几个方面来了解Android开发过程中的代码优化. 1)静态变量引起内存泄露 在代码优化的过程中,我们需要对代码中的静态变量特别留意.静态变量是类相关的变量,它的生命周期是从这个类被声明,到这个类彻底被垃圾回收器回收才会被销毁.所以,一般情况下,静态变量

解析Android开发优化之:从代码角度进行优化的技巧

下面我们就从几个方面来了解Android开发过程中的代码优化,需要的朋友参考下 通常我们写程序,都是在项目计划的压力下完成的,此时完成的代码可以完成具体业务逻辑,但是性能不一定是最优化的.一般来说,优秀的程序员在写完代 码之后都会不断的对代码进行重构.重构的好处有很多,其中一点,就是对代码进行优化,提高软件的性能.下面我们就从几个方面来了解Android开发过程 中的代码优化. 1)静态变量引起内存泄露 在代码优化的过程中,我们需要对代码中的静态变量特别留意.静态变量是类相关的变量,它的生命周期