Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to use django-debug-toolbar on AJAX calls?

I'm curious if there's a reasonable way to use the (amazing) django-debug-toolbar with AJAX queries.

For example, I use a jQuery $.get with a bunch of parameters to hit a Django URL and load it inline. If I have an error with that, it isn't registered on the toolbar. I also can't use it by copying the AJAX URL because DDT attaches to the body tag of the response, and it wouldn't make any sense to be including body tags with AJAX responses.

Any direction would be helpful! Thanks!

like image 878
Charles Offenbacher Avatar asked Feb 26 '11 04:02

Charles Offenbacher


People also ask

What is Django debug toolbar?

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.

How do I debug a Django project?

If you want to debug Django using PTVS, you need to do the following: In Project settings - General tab, set "Startup File" to "manage.py", the entry point of the Django program. In Project settings - Debug tab, set "Script Arguments" to "runserver --noreload". The key point is the "--noreload" here.


1 Answers

Update: this functionality is now built into django-debug-toolbar

It was added in this PR and released in version 3.0


The old answer may still be useful for older versions of the toolbar:

I wrote the Request History Panel for Django Debug Toolbar that can be added to the Django Debug Toolbar to view requests other than the current one (including AJAX requests).

Install via pip:

pip install django-debug-toolbar-request-history 

In settings.py add 'ddt_request_history.panels.request_history.RequestHistoryPanel' to DEBUG_TOOLBAR_PANELS e.g.:

DEBUG_TOOLBAR_PANELS = [     'ddt_request_history.panels.request_history.RequestHistoryPanel',  # Here it is      '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.templates.TemplatesPanel',     'debug_toolbar.panels.staticfiles.StaticFilesPanel',     'debug_toolbar.panels.cache.CachePanel',     'debug_toolbar.panels.signals.SignalsPanel',     'debug_toolbar.panels.logging.LoggingPanel',     'debug_toolbar.panels.redirects.RedirectsPanel',     'debug_toolbar.panels.profiling.ProfilingPanel', ] 
like image 108
djsutho Avatar answered Oct 17 '22 08:10

djsutho