Provides a lightweight development runserver on Werkzeug with a web-based debugger with support for REST APIs.
- Friendly for API debugging, like Django Rest Framework.
- Werkzeug web-based debugger
From PyPI with pip
pip install django-rundbg
In your development settings file add the following:
from yourproject.settings_general import INSTALLED_APPS
INSTALLED_APPS = INSTALLED_APPS + ['django_rundbg',]
DEBUG = True
DEBUG_PROPAGATE_EXCEPTIONS = True
After installation and configuration, just run:
python manage.py rundbg --use-link
To try out, just place an assert False
statement whenever you want to inspect your code and variables and this will show either at your
current browser window or in the dev console.
After installation and configuration, just run:
python manage.py rundbg
Since it extends on Django's runserver
you can pass on the same parameters than to rundbg
:
python manage.py rundbg --no-reload 0.0.0.0:5678
Additionally, it supports one additional parameter useful for debugging XHR requests:
python manage.py rundbg --use-link
This will show an very simple error 500 page, with a link to the Werkzeug Traceback and web-based interactive debugger that you can open in any browser window. The default behaviour for the Werkzeug debugger is to serve the debugging page to the request that created the exception.
Additionally, it supports the following parameters from runserver_plus
:
--reloader-interval 2
After how many seconds auto-reload should scan for updates in poller-mode.--keep-meta-shutdown
Keeprequest.META['werkzeug.server.shutdown']
function which is automatically removed because Django debug pages tries to call the function and unintentionally shuts down the Werkzeug server.
Werkzeug security PIN is disabled.
This project is strongly based upon the work of others:
- The Django Extensions
runserver_plus
is a more comprehensive command than this one. - The Werkzeug server.
- Another take on the same challenge.
- Juan Saavedra
With ❤️ from Octobot