skip to navigation
skip to content

Not Logged In

django-debugtools 1.4

A toolbox of small utilities to assist Django development

Introduction

The debugtools module offers some easy to use debugging utilities to assist Django development. It features:

  • A template tag to print context.
  • A XViewMiddleware variation to see which view and template was used to render a page.
  • A panel for django-debug-toolbar to show which view and template was used to render a page.
  • A jQuery debug() function.

Installation

First install the module, preferably in a virtual environment. It can be installed from PyPI:

pip install django-debugtools

Or the current folder can be installed:

pip install .

Configuration

Add the module to the installed apps:

INSTALLED_APPS += (
    'debugtools',
)

Features

Debug Toolbar Panel

Add the following settings to your django-debug-toolbar configuration:

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',
)

jQuery debug print

Add the following to the page:

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

Now you can print the jQuery selector context to the console:

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

This will print the matched <li> elements in the console, among with the current jQuery selector. Optionally, a prefix can be included in the debug() call:

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

X-View Middleware

As alternative to the django-debug-toolbar panel, you can also add the XViewMiddleware. Add the following setting:

INTERNAL_IPS = (
    '127.0.0.1',
)

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

All requests from the internal IP, or made by the admin user will have a X-View header and X-View-Template header. In the Firebug console, or Chrome web inspector, you can see which view and template handled the current request:

The alternative templates are also displayed, in case the view allows the template to be overwritten with a different name.

 
File Type Py Version Uploaded on Size
django-debugtools-1.4.tar.gz (md5) Source 2015-07-29 16KB
django_debugtools-1.4-py2.py3-none-any.whl (md5) Python Wheel 2.7 2015-07-29 17KB
  • Downloads (All Versions):
  • 28 downloads in the last day
  • 205 downloads in the last week
  • 2300 downloads in the last month