A configurable set of panels that display various debug information about the current request/response.

Overview

Django Debug Toolbar

Jazzband Build Status Test coverage status Supported Python versions Supported Django versions

The Django Debug Toolbar is a configurable set of panels that display various debug information about the current request/response and when clicked, display more details about the panel's content.

Here's a screenshot of the toolbar in action:

Django Debug Toolbar screenshot

In addition to the built-in panels, a number of third-party panels are contributed by the community.

The current stable version of the Debug Toolbar is 3.2. It works on Django ≥ 2.2.

Documentation, including installation and configuration instructions, is available at https://django-debug-toolbar.readthedocs.io/.

The Django Debug Toolbar is released under the BSD license, like Django itself. If you like it, please consider contributing!

The Django Debug Toolbar was originally created by Rob Hudson <[email protected]> in August 2008 and was further developed by many contributors.

Comments
  • Poor performance in Django 1.11 after template-based widget rendering

    Poor performance in Django 1.11 after template-based widget rendering

    As reported in Django's Trac ticket #27774, enabling the "Templates" panel on a page that does a lot of template-widget rendering (#15667) results in unacceptably slow page load. I'm not sure what an appropriate resolution might be. A possibility could be to have the debug toolbar ignore analysis for widget rendering.

    opened by timgraham 37
  • Added support for Content Security Policy

    Added support for Content Security Policy

    In order to use debug toolbar with a content security policy enabled, no inline scripts or styles can be used. This commit replaces all style attributes with CSS or javascript. It uses data attributes to handle the dynamic styles, like width and color.

    In addition, this required updating jQuery to 1.8, because 1.7 is not CSP compatible.

    See also #307, which began implementing CSP compatibility.

    Improvement Frontend 
    opened by gavinwahl 31
  • debug toolbar causes extra SQL queries

    debug toolbar causes extra SQL queries

    In latest master lazy querysets in template context are re-evaluting on every template context rendering so instead of e.g. 15 queries 100+ sql queries are executed with django-debug-toolbar enabled. Turning off 'debug_toolbar.panels.template.TemplateDebugPanel' brings sql query count back to 15. Extra queries information: http://pix.am/G8M0/

    Latest commit in SQL refactoring branch that works for me was 4d69dbea, starting from 5aff6ee7 debug toolbar either fails with an exception (None in not iterable, not all arguments are converted on string formatting) or generates extra sql queries (I may be wrong because I haven't tried all the commits).

    The setup is postgres, django 1.3 and TemplateResponse, the view is not wrapped in transaction. Using HttpResponse or wrapping view in transaction doesn't change anything.

    (edited: corrected commit numbers)

    opened by kmike 30
  • Add javascript timing metrics to timing panel onLoad if available

    Add javascript timing metrics to timing panel onLoad if available

    Some browsers support navigation timing via javascript. Since these metrics fit the category of timing, this commit adds a section to the timing panel containing key metrics from the browser, triggered soon after the onLoad event.

    The change is plain javascript, so no library dependencies.

    Background: https://dvcs.w3.org/hg/webperf/raw-file/tip/specs/NavigationTiming/Overview.html

    Screenshot: http://dl.dropbox.com/u/15940111/browser_timing.png

    Tested on Chrome 22 and Firefox 14

    opened by mindsocket 23
  • SHOW_TOOLBAR_CALLBACK no longer supports lambda

    SHOW_TOOLBAR_CALLBACK no longer supports lambda

    in my setup i always have seperate dev settings and in those settings i enable debug toolbar for all requests. i've always done that with the following config

    DEBUG_TOOLBAR_CONFIG = {
        'SHOW_TOOLBAR_CALLBACK': lambda request: True,
    }
    

    after updating my virtualenv this morning i started getting errors that i've tracked down to trying to run rsplit on func_path

    line 45 of debu_toolbar/middleware.py:

        mod_path, func_name = func_path.rsplit('.', 1)
    

    it looks like the meaning of SHOW_TOOLBAR_CALLBACK may have changed to require a string and not support a callable. if that's the case i'm not sure what the solution would be. i'd rather not have to define a function somewhere and point this at it just to return true. i'd prefer if SHOW_TOOLBAR_CALLBACK supported being presented a callable.

    Improvement 
    opened by ross 22
  • Support insertion in StreamingHttpResponse

    Support insertion in StreamingHttpResponse

    Since Django 1.5 StreamingHttpResponse is introduced, this response class does not have content attribute, django-debug-toolbar middleware should be aware of that.

    Now I get this error:

    Traceback (most recent call last):
      File "/usr/lib/python2.7/wsgiref/handlers.py", line 85, in run
        self.result = application(self.environ, self.start_response)
      File "/home/sirex/.buildout/eggs/Django-1.5-py2.7.egg/django/contrib/staticfiles/handlers.py", line 72, in __call__
        return self.application(environ, start_response)
      File "/home/sirex/.buildout/eggs/Django-1.5-py2.7.egg/django/core/handlers/wsgi.py", line 255, in __call__
        response = self.get_response(request)
      File "/home/sirex/.buildout/eggs/Django-1.5-py2.7.egg/django/core/handlers/base.py", line 187, in get_response
        response = middleware_method(request, response)
      File "/home/sirex/.buildout/eggs/django_debug_toolbar-0.9.4-py2.7.egg/debug_toolbar/middleware.py", line 131, in process_response
        smart_unicode(response.content),
      File "/home/sirex/.buildout/eggs/Django-1.5-py2.7.egg/django/http/response.py", line 341, in content
        "Use `streaming_content` instead." % self.__class__.__name__)
    AttributeError: This StreamingHttpResponse instance has no `content` attribute. Use `streaming_content` instead.
    

    I use Django 1.5 and django-debug-toolbar 0.9.4.

    Improvement 
    opened by sirex 19
  • '<' not supported between instances of 'int' and 'str'

    '<' not supported between instances of 'int' and 'str'

    If session keys are not all strings, then this line (https://github.com/jazzband/django-debug-toolbar/blob/6a34e007e773d1243e3c7ba0b0ee07e4b45514ba/debug_toolbar/panels/request.py#L67) generate a TypeError:

    TypeError at /myurl
    
    '<' not supported between instances of 'int' and 'str'
    

    because:

    >>> l = ['a', 1, 'x', 22]
    >>> sorted(l)
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    TypeError: '<' not supported between instances of 'int' and 'str'
    
    
    Beginner friendly 
    opened by OdifYltsaeb 18
  • (urgent security problem) default _show_toolbar causes debug to leak to unprivileged IPs

    (urgent security problem) default _show_toolbar causes debug to leak to unprivileged IPs

            # if not internal ip, and not DEBUG
            if not (remote_addr in settings.INTERNAL_IPS or settings.DEBUG):
                return False
    

    The above line of code causes debug info to be shown to non privileged IPs.

    This is extremely bad and is completely against the documentation:

    "The default checks are that DEBUG must be set to True and the IP of the request must be in INTERNAL_IPS. "

    Please release an urgent fix for this by using:

            # if not internal ip, and not DEBUG
            if not (remote_addr in settings.INTERNAL_IPS and settings.DEBUG):
                return False
    
    opened by foxx 18
  • jQuery clashes

    jQuery clashes

    I'm creating a new issue to track in a single place all the problems related to the way the Debug Toolbar inserts jQuery into the page. #440 was supposed to fix the problem, but it didn't work for the trivial case of an HTML page without any JavaScript.

    I went for a very dumb solution in 2b6f5d6661dac283b7fb1cdfc6e252b6b6367d19. I don't know any better and I'm unable to assess the solutions that have been offered.

    As a consequence, until the other maintainers have a look at this issue or the toolbar gains new maintainers, this issue is unlikely to move forwards.

    I will now close all the issues that are variations of this issue as duplicates.

    Bug Frontend RequireJS 
    opened by aaugustin 17
  • ImproperlyConfigured: The included urlconf project.urls doesn't have any patterns in it (via patch_root_urlconf)

    ImproperlyConfigured: The included urlconf project.urls doesn't have any patterns in it (via patch_root_urlconf)

    patch_root_urlconf appears to cause an ImproperlyConfigured error for me:

    The included urlconf project.urls doesn't have any patterns in it
    

    This happens after adding debug_toolbar to INSTALLED_APPS.

    From the traceback it looks like the admin autodiscover triggers invocation of DDT's patching, but the project urlconf is still empty at that point.

    apps/project/urls.py looks as follows:

    # imports and autocomplete_light setup
    from django.contrib import admin
    admin.autodiscover()
    
    urlpatterns = patterns(
        '',
        (r'^grappelli/', include('grappelli.urls')),
        url(r'^admin/', include(admin.site.urls)),
    
        # …
    )
    

    This does not happen with DDT 0.10.2.

    I have also tried / are currently DDT master.

    Django Version: 1.6.2.dev20140104173735

    Traceback:
    File "/home/daniel/src/django-stable/django/core/handlers/base.py" in get_response
      101.                 resolver_match = resolver.resolve(request.path_info)
    File "/home/daniel/src/django-stable/django/core/urlresolvers.py" in resolve
      318.             for pattern in self.url_patterns:
    File "/home/daniel/src/django-stable/django/core/urlresolvers.py" in url_patterns
      346.         patterns = getattr(self.urlconf_module, "urlpatterns", self.urlconf_module)
    File "/home/daniel/src/django-stable/django/core/urlresolvers.py" in urlconf_module
      341.             self._urlconf_module = import_module(self.urlconf_name)
    File "/home/daniel/src/django-stable/django/utils/importlib.py" in import_module
      40.         __import__(name)
    File "/home/daniel/projects/tmm/apps/project/urls.py" in <module>
      15. admin.autodiscover()
    File "/home/daniel/src/django-stable/django/contrib/admin/__init__.py" in autodiscover
      29.             import_module('%s.admin' % app)
    File "/home/daniel/src/django-stable/django/utils/importlib.py" in import_module
      40.         __import__(name)
    File "/home/daniel/src/django-stable/django/contrib/auth/admin.py" in <module>
      182. admin.site.register(Group, GroupAdmin)
    File "/home/daniel/src/django-stable/django/contrib/admin/sites.py" in register
      92.                     admin_class.validate(model)
    File "/home/daniel/src/django-stable/django/contrib/admin/options.py" in validate
      105.         validator = cls.validator_class()
    File "/home/daniel/src/django-stable/django/contrib/admin/validation.py" in __init__
      20.         models.get_apps()
    File "/home/daniel/src/django-stable/django/db/models/loading.py" in get_apps
      139.         self._populate()
    File "/home/daniel/src/django-stable/django/db/models/loading.py" in _populate
      75.                 self.load_app(app_name, True)
    File "/home/daniel/src/django-stable/django/db/models/loading.py" in load_app
      99.             models = import_module('%s.models' % app_name)
    File "/home/daniel/src/django-stable/django/utils/importlib.py" in import_module
      40.         __import__(name)
    File "/home/daniel/.virtualenvs/tmm/src/django-debug-toolbar/debug_toolbar/models.py" in <module>
      63.     patch_root_urlconf()
    File "/home/daniel/.virtualenvs/tmm/src/django-debug-toolbar/debug_toolbar/models.py" in patch_root_urlconf
      51.         reverse('djdt:render_panel')
    File "/home/daniel/src/django-stable/django/core/urlresolvers.py" in reverse
      480.                 app_list = resolver.app_dict[ns]
    File "/home/daniel/src/django-stable/django/core/urlresolvers.py" in app_dict
      310.             self._populate()
    File "/home/daniel/src/django-stable/django/core/urlresolvers.py" in _populate
      262.         for pattern in reversed(self.url_patterns):
    File "/home/daniel/src/django-stable/django/core/urlresolvers.py" in url_patterns
      350.             raise ImproperlyConfigured("The included urlconf %s doesn't have any patterns in it" % self.urlconf_name)
    
    Exception Type: ImproperlyConfigured at /
    Exception Value: The included urlconf project.urls doesn't have any patterns in it
    
    opened by blueyed 17
  • SQL Panel: + button is no longer functional in debug-tool-bar 3.2

    SQL Panel: + button is no longer functional in debug-tool-bar 3.2

    Steps to reproduce:

    1. Refresh a page
    2. Open a the debug toolbar
    3. Select the SQL panel
    4. Press the + button for an SQL request

    Result:

    • Nothing happens, the + button is not responsive (whatever the SQL request)
    • (There is no such issue in earlier versions, including 2.2, 3.0, 3.1.)

    Expected result:

    • The + button should show the details of the SQL request

    Environement:

    • django 3.1.5
    • debug-toolbar 3.2
    • python 3.6.8
    opened by caramdache 16
  • Update translation files.

    Update translation files.

    We're a bit behind on updating the translations. The ideal solution is to have a CI task that verifies that the translations have been updated as a part of a PR.

    I've actually forgotten a lot of this translation process.

    opened by tim-schilling 0
  • Huge amount of store_id access has been raised

    Huge amount of store_id access has been raised

    Hello. Thank you for great works.

    I've update to v3.8.1 and found some issue.

    When I access to SPA page, which access to server api using axios, huge amount of access(*) was recorded and Debug toolbar does not show any panel. * http://localhost:8000/__debug__/history_sidebar/?store_id=03b13fc6002f4d11abd19ca4de7cb732)

    Not SPA page(maybe not access to API server via JavaScript), does not happen.

    Dose anyone else experienced the same problem?

    v3.8.1

    https://user-images.githubusercontent.com/56591/208930764-aef41a86-7a8b-464e-a6e2-903b65ee3b5c.mp4

    v3.7.0 works fine.

    https://user-images.githubusercontent.com/56591/208929306-f0a4241d-e7ae-4091-accc-f2f15f6f5ee7.mp4

    I think this PR https://github.com/jazzband/django-debug-toolbar/pull/1685 was releated.

    OS: macOS X Django: 3.2.16 React: 17.0.2 axios: 0.27.2

    Best regards.

    opened by heavenshell 0
  • Content-Security-Policy and strict-dynamic

    Content-Security-Policy and strict-dynamic

    Django Debug Toolbar is blocked by CSP if we are using strict-dynamic. Django already support it from the box if we can include nonce="{{request.csp_nonce}}" in the template

    opened by sshishov 1
  • Replace aliased imports with their canonical name

    Replace aliased imports with their canonical name

    See #1717

    When I see a settings variable in a Django project I immediately assume that it's django.conf.settings

    When I see dt_settings I have to look it up.

    Also, override immediately tells me django.utils.translation.override. If it's not obvious I sometimes import the module and use the function as translation.override but that happens almost never.

    It's a low priority issue but I think it should be changed if it's possible without breaking too many pull requests :)

    opened by matthiask 4
  • Drop support for Python 3.7

    Drop support for Python 3.7

    Description

    This pull request drops support for Python 3.7. Older versions of the toolbar will still be usable by people still using 3.7. This also makes us use less CI resources, something which is a big plus for me.

    Also, see https://pythonspeed.com/articles/stop-using-python-3.7/

    Checklist:

    • [x] I have added the relevant tests for this change.
    • [x] I have added an item to the Pending section of docs/changes.rst.
    opened by matthiask 0
  • Use correct language in panels

    Use correct language in panels

    Description

    Greetings fellows,

    PR #1703 introduced a bug where SQLPanel (and probably others) is rendered in LANGUAGE_CODE language, while it should use TOOLBAR_LANGUAGE if provided. This PR fixes panel's content language.

    I am not sure what else could be missed, I am also open to other implementations.

    Best, Rust

    Checklist:

    • [x] I have added the relevant tests for this change.
    • [x] I have added an item to the Pending section of docs/changes.rst.
    opened by amureki 12
Releases(3.8.1)
  • 3.8.1(Dec 3, 2022)

    Note: 3.8.0 was not released, use 3.8.1

    What's Changed

    • fix: Simplify logic for Panel.enabled property by @adamantike in https://github.com/jazzband/django-debug-toolbar/pull/1676
    • Auto-update History panel with JavaScript fetch requests. by @tim-schilling in https://github.com/jazzband/django-debug-toolbar/pull/1685
    • Improve the template_source view coverage a bit by @matthiask in https://github.com/jazzband/django-debug-toolbar/pull/1688
    • Support rerendering the toolbar on HTMX boosted pages. by @tim-schilling in https://github.com/jazzband/django-debug-toolbar/pull/1686
    • Include panel scripts in content when RENDER_PANELS=True by @matthiask in https://github.com/jazzband/django-debug-toolbar/pull/1689
    • Fixed #1693 -- Run tests on python 3.11 by @pauloxnet in https://github.com/jazzband/django-debug-toolbar/pull/1694
    • Add divide by zero protection in timer.js by @SmailBestybay in https://github.com/jazzband/django-debug-toolbar/pull/1687
    • Fixed #1695 - Run test on Python 3.11 for Django 4.1 by @pauloxnet in https://github.com/jazzband/django-debug-toolbar/pull/1696
    • Create one-time mouseup listener for each mousedown by @scuml in https://github.com/jazzband/django-debug-toolbar/pull/1697
    • Update package metadata by @ofek in https://github.com/jazzband/django-debug-toolbar/pull/1690
    • Validate and format pyproject.toml by @hugovk in https://github.com/jazzband/django-debug-toolbar/pull/1700
    • Drop Rob's email address in project config. by @tim-schilling in https://github.com/jazzband/django-debug-toolbar/pull/1699
    • Fix highlighting on history panel by @scuml in https://github.com/jazzband/django-debug-toolbar/pull/1698
    • Allow Language Selection on the Toolbar by @leandrodesouzadev in https://github.com/jazzband/django-debug-toolbar/pull/1703
    • Attach handlers to djDebug instead of document by @scuml in https://github.com/jazzband/django-debug-toolbar/pull/1702
    • Formalize support for Python 3.11. by @tim-schilling in https://github.com/jazzband/django-debug-toolbar/pull/1713

    New Contributors

    • @adamantike made their first contribution in https://github.com/jazzband/django-debug-toolbar/pull/1676
    • @SmailBestybay made their first contribution in https://github.com/jazzband/django-debug-toolbar/pull/1687
    • @ofek made their first contribution in https://github.com/jazzband/django-debug-toolbar/pull/1690
    • @hugovk made their first contribution in https://github.com/jazzband/django-debug-toolbar/pull/1700
    • @leandrodesouzadev made their first contribution in https://github.com/jazzband/django-debug-toolbar/pull/1703

    Full Changelog: https://github.com/jazzband/django-debug-toolbar/compare/3.7...3.8.1

    Source code(tar.gz)
    Source code(zip)
  • 3.8(Dec 3, 2022)

  • 3.7(Sep 25, 2022)

    What's Changed

    • Fix JS linting error from pre-commit. by @tim-schilling in https://github.com/jazzband/django-debug-toolbar/pull/1670
    • Use system font stack in the toolbar by @matthiask in https://github.com/jazzband/django-debug-toolbar/pull/1672
    • Profiling panel improvements by @tim-schilling in https://github.com/jazzband/django-debug-toolbar/pull/1669
    • added functionality to keep unsort the session dict by @ritiksoni00 in https://github.com/jazzband/django-debug-toolbar/pull/1673

    New Contributors

    • @ritiksoni00 made their first contribution in https://github.com/jazzband/django-debug-toolbar/pull/1673

    Full Changelog: https://github.com/jazzband/django-debug-toolbar/compare/3.6...3.7

    Source code(tar.gz)
    Source code(zip)
  • 3.6(Aug 23, 2022)

    What's Changed

    • Remove unused import from installation.rst by @jonatron in https://github.com/jazzband/django-debug-toolbar/pull/1648
    • Check if djdt-store-id is in all headers before usage. by @tim-schilling in https://github.com/jazzband/django-debug-toolbar/pull/1651
    • docs: Fix a few typos by @timgates42 in https://github.com/jazzband/django-debug-toolbar/pull/1652
    • Make Selenium tests pass, hopefully by @matthiask in https://github.com/jazzband/django-debug-toolbar/pull/1655
    • Add Django 4.1 to classifiers by @hramezani in https://github.com/jazzband/django-debug-toolbar/pull/1656
    • Remove signed_data_view decorator to support url type checking. by @tim-schilling in https://github.com/jazzband/django-debug-toolbar/pull/1658
    • Upgrade GitHub Actions by @cclauss in https://github.com/jazzband/django-debug-toolbar/pull/1660
    • Fix #1662: Avoid assigning arbitrary attributes to SafeString instances by @matthiask in https://github.com/jazzband/django-debug-toolbar/pull/1663

    New Contributors

    • @jonatron made their first contribution in https://github.com/jazzband/django-debug-toolbar/pull/1648
    • @timgates42 made their first contribution in https://github.com/jazzband/django-debug-toolbar/pull/1652

    Full Changelog: https://github.com/jazzband/django-debug-toolbar/compare/3.5...3.6

    Source code(tar.gz)
    Source code(zip)
  • 3.5(Jun 24, 2022)

    What's Changed

    • Explicit external link, hopefully fixes the docs linting action by @matthiask in https://github.com/jazzband/django-debug-toolbar/pull/1618
    • [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in https://github.com/jazzband/django-debug-toolbar/pull/1617
    • Add the upcoming Django 4.1 to the CI matrix by @matthiask in https://github.com/jazzband/django-debug-toolbar/pull/1623
    • Remove a couple of archived third-party repos by @cclauss in https://github.com/jazzband/django-debug-toolbar/pull/1622
    • Replace OrderedDict by @living180 in https://github.com/jazzband/django-debug-toolbar/pull/1625
    • Fix #1621: Do not crash when encountering unexpected data in the request by @matthiask in https://github.com/jazzband/django-debug-toolbar/pull/1624
    • Cache panel work by @living180 in https://github.com/jazzband/django-debug-toolbar/pull/1626
    • Get PostgreSQL transaction tracking working by @living180 in https://github.com/jazzband/django-debug-toolbar/pull/1619
    • Add pyflame to the list of third-party panels by @living180 in https://github.com/jazzband/django-debug-toolbar/pull/1628
    • Fix cache panel miss counting by @living180 in https://github.com/jazzband/django-debug-toolbar/pull/1629
    • Stacktrace cleanups by @living180 in https://github.com/jazzband/django-debug-toolbar/pull/1630
    • Increase minimum coverage percentage to 93% by @living180 in https://github.com/jazzband/django-debug-toolbar/pull/1632
    • Stack trace rework by @living180 in https://github.com/jazzband/django-debug-toolbar/pull/1631
    • Minor documentation updates by @living180 in https://github.com/jazzband/django-debug-toolbar/pull/1634
    • Reimplement HIDE_IN_STACKTRACES machinery by @living180 in https://github.com/jazzband/django-debug-toolbar/pull/1635
    • Rework similary/duplicate query grouping by @living180 in https://github.com/jazzband/django-debug-toolbar/pull/1636
    • Simplify SQLPanel._queries data structure by @living180 in https://github.com/jazzband/django-debug-toolbar/pull/1638
    • Tweak get_stack_trace() API by @living180 in https://github.com/jazzband/django-debug-toolbar/pull/1637

    New Contributors

    • @cclauss made their first contribution in https://github.com/jazzband/django-debug-toolbar/pull/1622

    And thank you @living180 for the plethora of PRs this release.

    Full Changelog: https://github.com/jazzband/django-debug-toolbar/compare/3.4...3.5

    Source code(tar.gz)
    Source code(zip)
  • 3.4(May 3, 2022)

    What's Changed

    • The path may not always be a true path for stacktraces. by @tim-schilling in https://github.com/jazzband/django-debug-toolbar/pull/1613
    • Add changelog for unpacking error when rendering stacktrace. by @tim-schilling in https://github.com/jazzband/django-debug-toolbar/pull/1614
    • Rename SQLPanel context var to control SQL access. by @tim-schilling in https://github.com/jazzband/django-debug-toolbar/pull/1615

    Full Changelog: https://github.com/jazzband/django-debug-toolbar/compare/3.3...3.4

    Source code(tar.gz)
    Source code(zip)
  • 3.3(May 3, 2022)

    What's Changed

    • Drop support for Django 3.1 by @hramezani in https://github.com/jazzband/django-debug-toolbar/pull/1548
    • Drop support for Django 2.2 by @hramezani in https://github.com/jazzband/django-debug-toolbar/pull/1551
    • Added MrBenn Panel to Third Party Panels by @robertispas in https://github.com/jazzband/django-debug-toolbar/pull/1554
    • Add pyupgrade and django-upgrade pre-commit hooks by @matthiask in https://github.com/jazzband/django-debug-toolbar/pull/1553
    • Documentation fix in installation.rst by @angusholder in https://github.com/jazzband/django-debug-toolbar/pull/1555
    • Don't raise W006 warning when app loader is specified. by @tim-schilling in https://github.com/jazzband/django-debug-toolbar/pull/1556
    • Remove codecov, solely use coverage. by @tim-schilling in https://github.com/jazzband/django-debug-toolbar/pull/1542
    • Remove the codecov badge, we're not using codecov anymore by @matthiask in https://github.com/jazzband/django-debug-toolbar/pull/1557
    • Move settings reset logic to settings module. by @adamchainz in https://github.com/jazzband/django-debug-toolbar/pull/1559
    • Avoid installing middleware if Content-Encoding is set at all by @adamchainz in https://github.com/jazzband/django-debug-toolbar/pull/1560
    • Test middleware not injecting when Content-Encoding is set by @adamchainz in https://github.com/jazzband/django-debug-toolbar/pull/1562
    • Ignore all coverage files from Git by @adamchainz in https://github.com/jazzband/django-debug-toolbar/pull/1563
    • Specify code coverage as a static value. by @matthiask in https://github.com/jazzband/django-debug-toolbar/pull/1558
    • Fix #1565 Remove Python 3.6 due to EOL by @pauloxnet in https://github.com/jazzband/django-debug-toolbar/pull/1566
    • Implement CacheStatTracker.get_or_set by @francoisfreitag in https://github.com/jazzband/django-debug-toolbar/pull/1570
    • Optimize render_stacktrace() by @adamchainz in https://github.com/jazzband/django-debug-toolbar/pull/1571
    • Remove unnecessary mock dependency by @adamchainz in https://github.com/jazzband/django-debug-toolbar/pull/1572
    • Optimize SQL reformatting by @adamchainz in https://github.com/jazzband/django-debug-toolbar/pull/1574
    • Fix USE_TZ RemovedInDjango50Warning by @adamchainz in https://github.com/jazzband/django-debug-toolbar/pull/1573
    • Fix #1581: Duplicate the 'djdt' app_name to avoid importing the toolbar early by @matthiask in https://github.com/jazzband/django-debug-toolbar/pull/1582
    • unsigning history forms by @gone in https://github.com/jazzband/django-debug-toolbar/pull/1583
    • adding a green flash to new rows in the history table on refresh by @gone in https://github.com/jazzband/django-debug-toolbar/pull/1578
    • Adding Update on ajax feature by @gone in https://github.com/jazzband/django-debug-toolbar/pull/1577
    • Fix link to pre-commit homepage by @living180 in https://github.com/jazzband/django-debug-toolbar/pull/1589
    • Order History panels requests descending chronologically. by @tim-schilling in https://github.com/jazzband/django-debug-toolbar/pull/1587
    • Single source 'djdt' app name by @living180 in https://github.com/jazzband/django-debug-toolbar/pull/1588
    • Various minor documentation fixes by @living180 in https://github.com/jazzband/django-debug-toolbar/pull/1592
    • Fix Docker instruction when host IP has more than 1 digit by @RomainGehrig in https://github.com/jazzband/django-debug-toolbar/pull/1594
    • Fix sql recording for async views by @bellini666 in https://github.com/jazzband/django-debug-toolbar/pull/1585
    • Preserve logs that LoggingPanel would previously overwrite by @riwatt in https://github.com/jazzband/django-debug-toolbar/pull/1603
    • Fix and improve .assertValidHTML() test method by @living180 in https://github.com/jazzband/django-debug-toolbar/pull/1597

    New Contributors

    • @robertispas made their first contribution in https://github.com/jazzband/django-debug-toolbar/pull/1554
    • @angusholder made their first contribution in https://github.com/jazzband/django-debug-toolbar/pull/1555
    • @RomainGehrig made their first contribution in https://github.com/jazzband/django-debug-toolbar/pull/1594
    • @bellini666 made their first contribution in https://github.com/jazzband/django-debug-toolbar/pull/1585
    • @riwatt made their first contribution in https://github.com/jazzband/django-debug-toolbar/pull/1603

    Full Changelog: https://github.com/jazzband/django-debug-toolbar/compare/3.2.4...3.3

    Source code(tar.gz)
    Source code(zip)
  • 3.2.4(Dec 15, 2021)

    What's Changed

    • Revert PR 1426 - PostGIS param stripping. This was removing leading and trailing characters from string typed parameters for postgres applications.

    Full Changelog: https://github.com/jazzband/django-debug-toolbar/compare/3.2.3...3.2.4

    Source code(tar.gz)
    Source code(zip)
  • 3.2.3(Dec 12, 2021)

    What's Changed

    • Update translations and revert xgettext aliasing. by @tim-schilling in https://github.com/jazzband/django-debug-toolbar/pull/1494
    • Utilize pre-commit to help devs follow style guidelines by @tim-schilling in https://github.com/jazzband/django-debug-toolbar/pull/1495
    • Changed cache monkey-patching for Django 3.2+ by @tim-schilling in https://github.com/jazzband/django-debug-toolbar/pull/1497
    • Add check and docs for TEMPLATES APP_DIRS=False. by @tim-schilling in https://github.com/jazzband/django-debug-toolbar/pull/1498
    • Update tox and github actions. by @tim-schilling in https://github.com/jazzband/django-debug-toolbar/pull/1500
    • Possibly fix an infinite recursion crash by avoid str() inside repr() by @matthiask in https://github.com/jazzband/django-debug-toolbar/pull/1507
    • Add Django 4.0a1 to tox.ini by @matthiask in https://github.com/jazzband/django-debug-toolbar/pull/1508
    • Fix transifex link (net -> com) by @tim-schilling in https://github.com/jazzband/django-debug-toolbar/pull/1510
    • Add support for Python 3.10 by @joshuadavidthomas in https://github.com/jazzband/django-debug-toolbar/pull/1511
    • Additional readme warning when using docker by @daniel-butler in https://github.com/jazzband/django-debug-toolbar/pull/1294
    • Fix SQL selected / SQL explain for gis queries by @jieter in https://github.com/jazzband/django-debug-toolbar/pull/1426
    • Allow using ProfilingPanel as non last panel by @noamkush in https://github.com/jazzband/django-debug-toolbar/pull/1299
    • Update tox.ini by @auvipy in https://github.com/jazzband/django-debug-toolbar/pull/1519
    • Solve spelling mistake in documentation installation page by @mahbd in https://github.com/jazzband/django-debug-toolbar/pull/1520
    • Add Python 3.10 test pipeline for Django 3.2 by @hramezani in https://github.com/jazzband/django-debug-toolbar/pull/1521
    • Run CI tests weekly. by @tim-schilling in https://github.com/jazzband/django-debug-toolbar/pull/1523
    • Fix test_param_conversion for Django 4.1 and mysql by @tim-schilling in https://github.com/jazzband/django-debug-toolbar/pull/1526
    • Remove settings import from install instructions. by @adamchainz in https://github.com/jazzband/django-debug-toolbar/pull/1528
    • Add a big warning regarding the security implications of changing SHOW_TOOLBAR_CALLBACK by @matthiask in https://github.com/jazzband/django-debug-toolbar/pull/1530
    • Update Django 4.0 version in tox.ini to RC1 by @pauloxnet in https://github.com/jazzband/django-debug-toolbar/pull/1531
    • Improve installation instructions by @adamchainz in https://github.com/jazzband/django-debug-toolbar/pull/1533
    • Fix settings docs by @adamchainz in https://github.com/jazzband/django-debug-toolbar/pull/1534
    • Use only pre-commit for style linters and fixers by @adamchainz in https://github.com/jazzband/django-debug-toolbar/pull/1535
    • Update translations for a bunch of languages. by @tim-schilling in https://github.com/jazzband/django-debug-toolbar/pull/1525
    • Update DE locale by @Baltrunas in https://github.com/jazzband/django-debug-toolbar/pull/1505
    • Discourage insecure SHOW_TOOLBAR_CALLBACK values by @matthiask in https://github.com/jazzband/django-debug-toolbar/pull/1539
    • Create urls module and remove import package from docs. by @tim-schilling in https://github.com/jazzband/django-debug-toolbar/pull/1537

    New Contributors

    • @joshuadavidthomas made their first contribution in https://github.com/jazzband/django-debug-toolbar/pull/1511
    • @pre-commit-ci made their first contribution in https://github.com/jazzband/django-debug-toolbar/pull/1512
    • @jazzband-bot made their first contribution in https://github.com/jazzband/django-debug-toolbar/pull/1516
    • @daniel-butler made their first contribution in https://github.com/jazzband/django-debug-toolbar/pull/1294
    • @noamkush made their first contribution in https://github.com/jazzband/django-debug-toolbar/pull/1299
    • @auvipy made their first contribution in https://github.com/jazzband/django-debug-toolbar/pull/1519
    • @mahbd made their first contribution in https://github.com/jazzband/django-debug-toolbar/pull/1520
    • @pauloxnet made their first contribution in https://github.com/jazzband/django-debug-toolbar/pull/1531
    • @Baltrunas made their first contribution in https://github.com/jazzband/django-debug-toolbar/pull/1505

    Full Changelog: https://github.com/jazzband/django-debug-toolbar/compare/3.2.2...3.2.3

    Source code(tar.gz)
    Source code(zip)
  • 3.2.2(Oct 26, 2021)

    What's Changed

    • Use current_thread instead of currentThread method that was deprecated in Python 3.10 by @tirkarthi in https://github.com/jazzband/django-debug-toolbar/pull/1465
    • Drop support for Django 3.0. by @hramezani in https://github.com/jazzband/django-debug-toolbar/pull/1461
    • Support JS events when loading a panel. by @tim-schilling in https://github.com/jazzband/django-debug-toolbar/pull/1441
    • Use twine to check generated package and readme by @francoisfreitag in https://github.com/jazzband/django-debug-toolbar/pull/1468
    • Use default app config discovery by @francoisfreitag in https://github.com/jazzband/django-debug-toolbar/pull/1467
    • Show template context on included templates by @gilmrjc in https://github.com/jazzband/django-debug-toolbar/pull/1436
    • Keep the toolbar handle in bounds by @matthiask in https://github.com/jazzband/django-debug-toolbar/pull/1472
    • Fixes #1239 by @saemideluxe in https://github.com/jazzband/django-debug-toolbar/pull/1475
    • Extract common base cursor wrapper class by @jayaddison in https://github.com/jazzband/django-debug-toolbar/pull/1479
    • updated Slovak translation by @eriktelepovsky in https://github.com/jazzband/django-debug-toolbar/pull/1480
    • Fixes and improvements to history views by @ashwch in https://github.com/jazzband/django-debug-toolbar/pull/1484
    • Add test coverage to ensure that SQL tracker wrappers are applied only once to database cursors by @jayaddison in https://github.com/jazzband/django-debug-toolbar/pull/1478
    • Correct RENDER_PANELS functionality and when enabled disable HistoryPanel by @tim-schilling in https://github.com/jazzband/django-debug-toolbar/pull/1440
    • Add: response status to HistoryPanel by @psacawa in https://github.com/jazzband/django-debug-toolbar/pull/1490
    • Support for request-level urlconf overrides by @NielkS in https://github.com/jazzband/django-debug-toolbar/pull/1488
    • Version 3.2.2 by @tim-schilling in https://github.com/jazzband/django-debug-toolbar/pull/1492

    New Contributors

    • @tirkarthi made their first contribution in https://github.com/jazzband/django-debug-toolbar/pull/1465
    • @saemideluxe made their first contribution in https://github.com/jazzband/django-debug-toolbar/pull/1475
    • @jayaddison made their first contribution in https://github.com/jazzband/django-debug-toolbar/pull/1479
    • @eriktelepovsky made their first contribution in https://github.com/jazzband/django-debug-toolbar/pull/1480
    • @ashwch made their first contribution in https://github.com/jazzband/django-debug-toolbar/pull/1484
    • @psacawa made their first contribution in https://github.com/jazzband/django-debug-toolbar/pull/1490
    • @NielkS made their first contribution in https://github.com/jazzband/django-debug-toolbar/pull/1488

    Full Changelog: https://github.com/jazzband/django-debug-toolbar/compare/3.2.1...3.2.2

    Source code(tar.gz)
    Source code(zip)
Jinja is a fast, expressive, extensible templating engine.

Jinja is a fast, expressive, extensible templating engine. Special placeholders in the template allow writing code similar to Python syntax.

The Pallets Projects 9k Jan 04, 2023
Extendable, adaptable rewrite of django.contrib.admin

django-admin2 One of the most useful parts of django.contrib.admin is the ability to configure various views that touch and alter data. django-admin2

Jazzband 1.2k Dec 29, 2022
:honey_pot: A fake Django admin login screen page.

django-admin-honeypot django-admin-honeypot is a fake Django admin login screen to log and notify admins of attempted unauthorized access. This app wa

Derek Payton 907 Dec 31, 2022
A jazzy skin for the Django Admin-Interface (official repository).

Django Grappelli A jazzy skin for the Django admin interface. Grappelli is a grid-based alternative/extension to the Django administration interface.

Patrick Kranzlmueller 3.4k Dec 31, 2022
Visually distinguish environments in Django Admin

django-admin-env-notice Visually distinguish environments in Django Admin. Based on great advice from post: 5 ways to make Django Admin safer by hakib

Yuri Shikanov 258 Nov 30, 2022
django's default admin interface made customizable. popup windows replaced by modals. :mage: :zap:

django-admin-interface django-admin-interface is a modern responsive flat admin interface customizable by the admin itself. Features Beautiful default

Fabio Caccamo 1.3k Dec 31, 2022
A minimalist GUI frontend for the youtube-dl. Takes up less than 4 KB.

📥 libre-DL A minimalist GUI wrapper for youtube-dl. Written in python. Total size less than 4 KB. Contributions welcome. You don't need youtube-dl pr

40 Sep 23, 2022
A python application for manipulating pandas data frames from the comfort of your web browser

A python application for manipulating pandas data frames from the comfort of your web browser. Data flows are represented as a Directed Acyclic Graph, and nodes can be ran individually as the user se

Schlerp 161 Jan 04, 2023
Python code for "Machine learning: a probabilistic perspective" (2nd edition)

Python code for "Machine learning: a probabilistic perspective" (2nd edition)

Probabilistic machine learning 5.3k Dec 31, 2022
Helpers to extend Django Admin with data from external service with minimal hacks

django-admin-data-from-external-service Helpers to extend Django Admin with data from external service with minimal hacks Live demo with sources on He

Evgeniy Tatarkin 7 Apr 27, 2022
Nginx UI allows you to access and modify the nginx configurations files without cli.

nginx ui Table of Contents nginx ui Introduction Setup Example Docker UI Authentication Configure the auth file Configure nginx Introduction We use ng

David Schenk 4.3k Dec 31, 2022
An administration website for Django

yawd-admin, a django administration website yawd-admin now has a live demo at http://yawd-admin.yawd.eu/. Use demo / demo as username & passowrd. yawd

Pantelis Petridis 140 Oct 30, 2021
Video Visual Relation Detection (VidVRD) tracklets generation. also for ACM MM Visual Relation Understanding Grand Challenge

VidVRD-tracklets This repository contains codes for Video Visual Relation Detection (VidVRD) tracklets generation based on MEGA and deepSORT. These tr

25 Dec 21, 2022
With Django Hijack, admins can log in and work on behalf of other users without having to know their credentials.

Django Hijack With Django Hijack, admins can log in and work on behalf of other users without having to know their credentials. Docs See http://django

1.2k Jan 05, 2023
Collection of admin fields and decorators to help to create computed or custom fields more friendly and easy way

django-admin-easy Collection of admin fields, decorators and mixin to help to create computed or custom fields more friendly and easy way Installation

Ezequiel Bertti 364 Jan 08, 2023
Tornadmin is an admin site generation framework for Tornado web server.

Tornadmin is an admin site generation framework for Tornado web server.

Bharat Chauhan 0 Jan 10, 2022
Extends the Django Admin to include a extensible dashboard and navigation menu

django-admin-tools django-admin-tools is a collection of extensions/tools for the default django administration interface, it includes: a full feature

Django Admin Tools 731 Dec 28, 2022
There is a new admin bot by @sinan-m-116 .

find me on telegram! deploy me on heroku, use below button: If you can't have a config.py file (EG on heroku), it is also possible to use environment

Sinzz-sinan-m 0 Nov 09, 2021
The script that able to find admin panels

admin_panel_finder The script will try to request possible admin panels by reading possible admin panels url then report as 200 YES or 404 NO usage: p

E-Pegasus 3 Mar 09, 2022
EOD (Easy and Efficient Object Detection) is a general object detection model production framework.

EOD (Easy and Efficient Object Detection) is a general object detection model production framework.

383 Jan 07, 2023