帮助django开发的小型实用工具工具箱

django-debugtools的Python项目详细描述


简介

debugtools模块提供一些易于使用的调试实用程序来帮助django开发。 它的功能:

  • 打印上下文的模板标记。
  • 一个XViewMiddleware变体,用于查看用于呈现页面的视图模板
  • 用于django-debug-toolbar显示用于呈现页面的viewtemplate的面板。
  • jquerydebug()函数。

安装

首先安装模块,最好是在虚拟环境中。它可以从pypi安装:

pip install django-debugtools

或者可以安装当前文件夹:

pip install .

配置

将模块添加到已安装的应用程序:

INSTALLED_APPS += (
    'debugtools',
)

从django 1.9开始,使用{% load debugtools_tags %}或将以下内容添加到设置中:

TEMPLATES=[{'BACKEND':'django.template.backends.django.DjangoTemplates','DIRS':[],'APP_DIRS':True,'OPTIONS':{'context_processors':['django.template.context_processors.debug','django.template.context_processors.request',# ...],'builtins':[# Add this section"debugtools.templatetags.debugtools_tags",# Add this line],},},]

或者,当您使用local.py设置文件时:

TEMPLATES[0]['OPTIONS']['builtins']+=["debugtools.templatetags.debugtools_tags",# enables {% print %}]

功能

调试工具栏面板

将以下设置添加到django-debug-toolbar配置:

DEBUG_TOOLBAR_PANELS = (
    'debug_toolbar.panels.versions.VersionsPanel',
    'debug_toolbar.panels.timer.TimerPanel',
    'debug_toolbar.panels.settings.SettingsPanel',
    'debug_toolbar.panels.headers.HeadersPanel',
    'debug_toolbar.panels.request.RequestPanel',
    'debug_toolbar.panels.sql.SQLPanel',
    'debug_toolbar.panels.staticfiles.StaticFilesPanel',
    'debugtools.panels.ViewPanel',    # Add this one
    'debug_toolbar.panels.templates.TemplatesPanel',
    'debug_toolbar.panels.cache.CachePanel',
    'debug_toolbar.panels.signals.SignalsPanel',
    'debug_toolbar.panels.logging.LoggingPanel',
    'debug_toolbar.panels.redirects.RedirectsPanel',
)
https://github.com/edoburu/django-debugtools/raw/master/docs/images/debug-toolbar.png

jquery调试打印

在页面中添加以下内容:

<script type="text/javascript" src="{{ STATIC_URL }}debugtools/jquery.debug.js"></script>

现在您可以将jquery选择器上下文打印到控制台:

$("#foo").children('li').debug().addClass('bar');

这将在控制台中打印与当前jquery选择器匹配的<li>元素。 可选地,前缀可以包含在debug()调用中:

$("#foo").debug("at baz: ").addClass('bar');

x-view中间件

除了django-debug-toolbar面板之外,还可以添加XViewMiddleware。 添加以下设置:

INTERNAL_IPS = (
    '127.0.0.1',
)

MIDDLEWARE_CLASSES += (
    'debugtools.middleware.XViewMiddleware',
)

来自内部IP的所有请求,或由管理员用户发出的所有请求都将有一个X-View头和X-View-Template头。 在Firebug控制台或Chrome Web Inspector中,您可以看到哪个视图和模板处理了当前请求:

https://github.com/edoburu/django-debugtools/raw/master/docs/images/firebug-xview.png

如果视图允许用不同的名称覆盖模板,则还会显示其他模板。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java允许具有不同父类的类扩展类,而无需多重继承   java如何创建动态化的JScrollPane w/JPanel作为客户端?   java如何组织和命名包   在Java中读取属性文件   java无法解释的Android意图行为   在Java中动态执行多个BPEL文件的部署   ssl Java 6 SNI(服务器名称指示)?   java我们可以使用Robot框架自动化web和移动应用程序来执行并行执行   java for star pettern的循环   java为什么BinaryReader在线程中,从netty读取错误的数据包?   在java中将华氏度转换为摄氏度   使用Spark和java处理空值和引号编写CSV文件   Java中已排序日期到块的列表   visual studio代码VSCode Java不是linting或自动完成局部变量,而是自动完成Java快捷方式,如“sysout”