DjDT
Django 的使用能够容易的以更少的代码更快地构建更好的 Web 应用程序.
调试与优化时,我们常常想知道比如以下问题:
- 执行了多少条 SQL 语句,花费的时间,每次每条语句查询的时间
- 渲染页面的模板是哪些,渲染时间
- 缓存是否影响性能
django-debug-toolbar 是一款非常强大的 Django 的性能检测工具,官方网站
https://django-debug-toolbar.readthedocs.io/en/latest/。
因为项目需要,实际实践了一下,效果还可以。
先放图,再列出具体步骤。
[图片上传中...(image.png-282829-1604389355276-0)]
操作步骤:
- 安装依赖库.
pip install django-debug-toolbar==3.1
pip install django-debug-toolbar-request-history==0.1.3
- 修改一些必要的代码:
第一: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
- 这时启动服务,刷新页面应该就能看到效果了
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
网友评论