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.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.

Issues
  • 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
  • (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
  • Data for this panel isn't available anymore. Please reload the page and retry.

    Data for this panel isn't available anymore. Please reload the page and retry.

    Hello, I'm getting the following message in some pages:

    Data for this panel isn't available anymore. Please reload the page and retry.

    I tried updating to the latest version (1.3.2), but still get the same message. It's really strange that for some pages works fine and for others not. Any ideas?

    Thanks

    opened by srus 16
  • View function is shown incorrectly

    View function is shown incorrectly

    by upgrading django to version 4.0.2 view function on django-debug-toolbar doesn't display properly. The expected string should be the class name: DashboardView not "backend_base.views.view". "backend_base" is app name.

    The class itself is very simple: class DashboardView(LoginRequiredMixin, NavBarMixin, TemplateView): template_name = 'dashboard.html'

    backend_base.views.view

    source of issue: mario-signorino on stackoverflow.

    opened by bakefayat 6
  • RecursionError: maximum recursion depth exceeded while calling a Python object

    RecursionError: maximum recursion depth exceeded while calling a Python object

    Some time ago I updated to DjDT 3.4.0 from the previous version and instantly ran into issues on certain pages of the Django project (but not others).

    The page loading times out and when I check the logs I see:

    Error running WSGI application
    RecursionError: maximum recursion depth exceeded while calling a Python object
    

    I suspect there is an issue related to DjDT because the problems appeared after the update to DjDT 3.4.0 and when I disable DjDT by setting ‘Debug = False’ I don’t have any issues. Also, there appear to have been similar issues in DjDT years ago.

    This is what it says in the DjDT version panel. Django 3.2.13 Python 3.9.5 debug_toolbar Debug Toolbar 3.4.0 django_tables2 Django_Tables2 2.4.1

    I’m on the LTS version of Django for a reason and I use Python 3.9.5 because that’s supplied by my hosting provider.

    Could this be a regression? Is there anything specific you need to narrow it down?

    opened by LeoEurope 4
  • UnicodeEncodeError in middleware.py

    UnicodeEncodeError in middleware.py

    Hello,

    using Django Debug Toolbar 3.2.4 with Django 4.0.3, I get the following stack trace:

    Traceback (most recent call last):
      File "/home/carsten/.virtualenvs/Lori/lib/python3.8/site-packages/django/core/handlers/exception.py", line 55, in inner
        response = get_response(request)
      File "/home/carsten/.virtualenvs/Lori/lib/python3.8/site-packages/debug_toolbar/middleware.py", line 93, in __call__
        response.content = insert_before.join(bits)
      File "/home/carsten/.virtualenvs/Lori/lib/python3.8/site-packages/django/template/response.py", line 143, in content
        HttpResponse.content.fset(self, value)
      File "/home/carsten/.virtualenvs/Lori/lib/python3.8/site-packages/django/http/response.py", line 387, in content
        content = self.make_bytes(value)
      File "/home/carsten/.virtualenvs/Lori/lib/python3.8/site-packages/django/http/response.py", line 296, in make_bytes
        return bytes(value.encode(self.charset))
    UnicodeEncodeError: 'utf-8' codec can't encode characters in position 181020-181021: surrogates not allowed
    
    During handling of the above exception, another exception occurred:
    
    Traceback (most recent call last):
      File "/home/carsten/.virtualenvs/Lori/lib/python3.8/site-packages/django/core/handlers/wsgi.py", line 132, in __call__
        response = self.get_response(request)
      File "/home/carsten/.virtualenvs/Lori/lib/python3.8/site-packages/django/core/handlers/base.py", line 140, in get_response
        response = self._middleware_chain(request)
      File "/home/carsten/.virtualenvs/Lori/lib/python3.8/site-packages/django/core/handlers/exception.py", line 57, in inner
        response = response_for_exception(request, exc)
      File "/home/carsten/.virtualenvs/Lori/lib/python3.8/site-packages/django/core/handlers/exception.py", line 139, in response_for_exception
        response = handle_uncaught_exception(
      File "/home/carsten/.virtualenvs/Lori/lib/python3.8/site-packages/django/core/handlers/exception.py", line 180, in handle_uncaught_exception
        return debug.technical_500_response(request, *exc_info)
      File "/home/carsten/.virtualenvs/Lori/lib/python3.8/site-packages/django/views/debug.py", line 67, in technical_500_response
        return HttpResponse(html, status=status_code, content_type="text/html")
      File "/home/carsten/.virtualenvs/Lori/lib/python3.8/site-packages/django/http/response.py", line 355, in __init__
        self.content = content
      File "/home/carsten/.virtualenvs/Lori/lib/python3.8/site-packages/django/http/response.py", line 387, in content
        content = self.make_bytes(value)
      File "/home/carsten/.virtualenvs/Lori/lib/python3.8/site-packages/django/http/response.py", line 296, in make_bytes
        return bytes(value.encode(self.charset))
    UnicodeEncodeError: 'utf-8' codec can't encode characters in position 5995-5996: surrogates not allowed
    

    The related section around line 93 in debug_toolbar/middleware.py is:

            # Always render the toolbar for the history panel, even if it is not
            # included in the response.
            rendered = toolbar.render_toolbar()
    
            # …
    
            # Insert the toolbar in the response.
            content = response.content.decode(response.charset)
            insert_before = dt_settings.get_config()["INSERT_BEFORE"]
            pattern = re.escape(insert_before)
            bits = re.split(pattern, content, flags=re.IGNORECASE)
            if len(bits) > 1:
                bits[-2] += rendered
                response.content = insert_before.join(bits)
                if "Content-Length" in response:
                    response["Content-Length"] = len(response.content)
            return response
    

    If I replace line

                bits[-2] += rendered
    

    with

                bits[-2] += rendered.encode('ascii', 'replace').decode()
    

    in order to get rid of any problematic characters, it works.

    Unfortunately, I've no idea what might cause this and I'm not sure how to proceed from here?

    opened by carstenfuchs 11
  •  debug toolbar not showing only when you use Render or HttpResponse function

    debug toolbar not showing only when you use Render or HttpResponse function

    toolbar will show when you login admin , however it will not show when you use Render or HttpResponse function in view function . like class Vue3API(APIView): def get(self, request, **kwargs): """ Return a list of all users. """ books = Book.objects.all() se = BookSerializerPro(books, many=True) # this code will show debug panel return Response(se.data) # this code will not show debug panel #return render(request, "register.html", {"foo": "bar"}) #return HttpResponse(content="tesing".encode())

    i use the windows 10 even i have configure the HKEY_CLASSES_ROOT.js in register table !
    Django |   | 3.2.10 Python |   | 3.9.1 debug_toolbar | Debug Toolbar | 3.2.4

    opened by yangislet 1
  • Cache panel causes very slow page loads

    Cache panel causes very slow page loads

    The cache panel is causing a very large slowdown in page loads when it is enabled.

    I've just tested an admin list page, and without the cache panel enabled it loads in ~750ms, but with it enabled it takes 25 - 30 seconds (I averaged 3 page loads of each for these numbers). The cache panel shows that there are 12 total calls on this page, and times them at ~1.4ms.

    I feel like this behaviour is relatively recent, so I tried dropping our version of Django which we upgraded recently. On Django 3.2.11, the page load time with the panel disabled is the same, but with it enabled the times are lower at 13 - 18s. Django pre-4.0 is faster, but still much slower than I think would be expected.

    Trying on a non-admin page, I found the page loads times to be low for both Django versions with the panel disabled, and around 10x higher for both with it enabled.

    For all these tests, the load times were not very reproducible when flicking between versions and restarting Django, so I've only included a few of them here. What I did notice across all of this testing is that with the panel enabled, load times often increase on each reload e.g. first load takes 2s, then 2.5s, then 3s...

    This test was run on MacOS, and I've had a colleague confirm my observations on Linux also.

    I'm happy to do some debugging if pointed in the right direction.

    Versions: Python 3.9.9 Django 4.0.1 django-debug-toolbar 3.2.4

    opened by jgillard 1
Releases(3.5)
  • 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)
🍦 Never use print() to debug again.

IceCream -- Never use print() to debug again Do you ever use print() or log() to debug your code? Of course you do. IceCream, or ic for short, makes p

Ansgar Grunseid 6k Jun 30, 2022
Dahua Console, access internal debug console and/or other researched functions in Dahua devices.

Dahua Console, access internal debug console and/or other researched functions in Dahua devices.

bashis 121 Jun 17, 2022
Python's missing debug print command and other development tools.

python devtools Python's missing debug print command and other development tools. For more information, see documentation. Install Just pip install de

Samuel Colvin 514 Jun 21, 2022
An x86 old-debug-like program.

An x86 old-debug-like program.

Pablo Niklas 1 Jan 10, 2022
Django package to log request values such as device, IP address, user CPU time, system CPU time, No of queries, SQL time, no of cache calls, missing, setting data cache calls for a particular URL with a basic UI.

django-web-profiler's documentation: Introduction: django-web-profiler is a django profiling tool which logs, stores debug toolbar statistics and also

MicroPyramid 76 Mar 4, 2022
(OLD REPO) Line-by-line profiling for Python - Current repo ->

line_profiler and kernprof line_profiler is a module for doing line-by-line profiling of functions. kernprof is a convenient script for running either

Robert Kern 3.6k Jun 23, 2022
A powerful set of Python debugging tools, based on PySnooper

snoop snoop is a powerful set of Python debugging tools. It's primarily meant to be a more featureful and refined version of PySnooper. It also includ

Alex Hall 769 Jun 26, 2022
A configurable set of panels that display various debug information about the current request/response.

Django Debug Toolbar The Django Debug Toolbar is a configurable set of panels that display various debug information about the current request/respons

Jazzband 7.1k Jun 30, 2022
A configurable set of panels that display various debug information about the current request/response.

Django Debug Toolbar The Django Debug Toolbar is a configurable set of panels that display various debug information about the current request/respons

Jazzband 7.1k Jun 19, 2022
A configurable set of panels that display various debug information about the current request/response.

Django Debug Toolbar The Django Debug Toolbar is a configurable set of panels that display various debug information about the current request/respons

Jazzband 7.1k Jun 27, 2022
Middleware for Starlette that allows you to store and access the context data of a request. Can be used with logging so logs automatically use request headers such as x-request-id or x-correlation-id.

starlette context Middleware for Starlette that allows you to store and access the context data of a request. Can be used with logging so logs automat

Tomasz Wójcik 259 Jun 20, 2022
Middleware for Starlette that allows you to store and access the context data of a request. Can be used with logging so logs automatically use request headers such as x-request-id or x-correlation-id.

starlette context Middleware for Starlette that allows you to store and access the context data of a request. Can be used with logging so logs automat

Tomasz Wójcik 261 Jun 29, 2022
Middleware for Starlette that allows you to store and access the context data of a request. Can be used with logging so logs automatically use request headers such as x-request-id or x-correlation-id.

starlette context Middleware for Starlette that allows you to store and access the context data of a request. Can be used with logging so logs automat

Tomasz Wójcik 110 Feb 16, 2021
TB Set color display - Add-on for Blender to set multiple objects and material Display Color at once.

TB_Set_color_display Add-on for Blender with operations to transfer name between object, data, materials and action names Set groups of object's or ma

null 1 Jun 1, 2022
🐞 A debug toolbar for FastAPI based on the original django-debug-toolbar. 🐞

Debug Toolbar ?? A debug toolbar for FastAPI based on the original django-debug-toolbar. ?? Swagger UI & GraphQL are supported. Documentation: https:/

Dani 39 Jun 20, 2022
Pihole-eink-display - A simple Python script to display PiHole statistics on an eInk Display

Pihole-eink-display - A simple Python script to display PiHole statistics on an eInk Display

Mark McIntyre 59 Jun 26, 2022
Graphical display tools, to help students debug their class implementations in the Carcassonne family of projects

carcassonne_tools Graphical display tools, to help students debug their class implementations in the Carcassonne family of projects NOTE NOTE NOTE The

null 1 Nov 8, 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 9, 2022
RedlineSpam - Python tool to spam Redline Infostealer panels with legit looking data

RedlineSpam Python tool to spam Redline Infostealer panels with legit looking da

null 4 Jan 27, 2022
This tool for beginner and help those people they gather information about Email Header Analysis, Instagram Information, Instagram Username Check, Ip Information, Phone Number Information, Port Scan

This tool for beginner and help those people they gather information about Email Header Analysis, Instagram Information, Instagram Username Check, Ip Information, Phone Number Information, Port Scan. This tool shows your hostname and public IP first, then user give input and according to option this tool work. This tool work diffrent Oprating system.

cb-kali 5 Feb 18, 2022
GRR Rapid Response: remote live forensics for incident response

GRR Rapid Response is an incident response framework focused on remote live forensics. Build Type Status Tests End-to-end Tests Windows Templates Linu

Google 4.1k Jun 28, 2022
PyTorch Implementation for AAAI'21 "Do Response Selection Models Really Know What's Next? Utterance Manipulation Strategies for Multi-turn Response Selection"

UMS for Multi-turn Response Selection Implements the model described in the following paper Do Response Selection Models Really Know What's Next? Utte

Taesun Whang 43 Mar 26, 2022
HTTP request/response parser for python in C

http-parser HTTP request/response parser for Python compatible with Python 2.x (>=2.7), Python 3 and Pypy. If possible a C parser based on http-parser

Benoit Chesneau 329 Jun 10, 2022
A full Rest-API With Oauth2 and JWT for request & response a JSON file Using FastAPI and SQLAlchemy 🔑

Pexon-Rest-API A full Rest-API for request & response a JSON file, Building a Simple WorkFlow that help you to Request a JSON File Format and Handling

Yasser Tahiri 16 Nov 12, 2021
Scrapy uses Request and Response objects for crawling web sites.

Requests and Responses¶ Scrapy uses Request and Response objects for crawling web sites. Typically, Request objects are generated in the spiders and p

Md Rashidul Islam 1 Nov 3, 2021
WebScraper - A script that prints out a list of all EXTERNAL references in the HTML response to an HTTP/S request

Project A: WebScraper A script that prints out a list of all EXTERNAL references

null 2 Apr 26, 2022
Aws-lambda-requests-wrapper - Request/Response wrapper for AWS Lambda with API Gateway

AWS Lambda Requests Wrapper Request/Response wrapper for AWS Lambda with API Gat

null 1 May 20, 2022
This project is a proof of concept to create a dashboard using Dash to display information about various cryptocurrencies.

This project is a WIP as a way to display useful information about cryptocurrencies. It's currently being actively developed as a proof of concept, and a way to visualize more useful data about various cryptocurrencies.

null 7 Apr 21, 2022