Django plugin that installs and configures the Django Debug Toolbar
The Django Debug Toolbar is amazingly useful for development. It's so powerful that it's very dangerous to activate it in production.
The goal of this plugin is to enable a developer to activate the Django Debug Toolbar with the minimum number of steps, while keeping debug related code out of the codebase.
First configure your Django project to use DJP.
Then install this plugin in the same environment as your Django application.
pip install django-plugin-django-debug-toolbarLooking at Django Debug Toolbar's installation instructions, this plugin takes care of the following steps (using their numbering):
- #1. Install the Package
- #2. Check for Prerequisites
- setup
django.contrib.staticfiles
- setup
- #3. Install the App
- #4. Add the URLs
- #5. Add the Middleware
- #6. Configure Internal IPs
- to include
127.0.0.1
- to include
But you still need to:
- #2. Check for Prerequisites
- like settings for templates
- #6. Configure Internal IPs
- if you require IPs other than
127.0.0.1, set them inINTERNAL_IPSin your settings
- if you require IPs other than
- #7. Disable the toolbar when running tests (optional)
- perhaps do this by disabling DJP when testing
This plugin injects the Debug Toolbar Middleware early, but not too early, in the middleware list.
It needs to run after any midddleware that decodes requests (GZipMiddleware), or sets request.META['REMOTE_ADDR'] (like django-xforwardedfor-middleware or django-xff).
If you have any other middleware that needs to run before the Debug Toolbar Middleware, please open a ticket and we'll add it to the TOOLBAR_MUST_GO_AFTER list.
To set up this plugin locally, first checkout the code. Then create a new virtual environment:
cd django-plugin-django-debug-toolbar
python -m venv venv
source venv/bin/activateNow install the dependencies and test dependencies:
pip install -e '.[test]'To run the tests:
python -m pytest