Django Debug Toolbar


1. Display Query Count

from django.conf import settings

# Custom middleware to count queries
class QueryCountMiddleware:
    def __init__(self, get_response):
        self.get_response = get_response

    def __call__(self, request):
        settings.QUERY_COUNT = 0
        response = self.get_response(request)
        settings.QUERY_COUNT += request.session['django_request_count']
        return response

2. Time Each Request

from django.utils.deprecation import MiddlewareMixin

class TimeRequestMiddleware(MiddlewareMixin):
    def process_request(self, request):
        request.start_time = time.time()

    def process_response(self, request, response):
        response['X-Request-Time'] = '{:.3f}s'.format(time.time() - request.start_time)
        return response

3. Display Template Tag Render Time

4. Track User Activity

5. Track Database Activity

6. Display Current Time

7. Display Page Title

8. Display User IP Address

9. Display User Agent

10. Display Referrer

11. Display Response Content

12. Display Response Headers

13. Display Response Cookies

14. Display Response Redirects

15. Display Session Data

16. Display Cache Headers

17. Display Content Security Policy Headers

18. Display X-Frame-Options Header

19. Display HSTS Header

20. Display Feature Policy Header

21. Display Permissions Policy Header

22. Display Referrer Policy Header

23. Display Clear Site Data Header

24. Display Expect-CT Header

25. Display Request ID Header

26. Display Response Headers

27. Display Response Status Code

28. Display Templates Rendered

29. Display View Function

30. Display View Arguments

31. Display View Keywords

32. Display Middleware Classes

33. Display Middleware Parameters

34. Display Installed Apps

35. Display Authentication Status

36. Display Permission Denied