Skip to main content

Provides a lightweight development runserver on Werkzeug with debugging

Project description

django-rundbg
=============

Provides a lightweight development runserver on Werkzeug with a
web-based debugger with support for REST APIs.

Features
--------

- Friendly for API debugging, like Django Rest Framework.
- Werkzeug `web-based
debugger <http://werkzeug.pocoo.org/docs/0.11/debug/#using-the-debugger>`__

:warning: Be very careful to keep this away from any production environment
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Installation and Configuration
------------------------------

>From PyPI with pip

::

pip install django-rundbg

In your `development
settings <https://code.djangoproject.com/wiki/SplitSettings#Multiplesettingfilesimportingfromeachother>`__
file add the following:

::

from yourproject.settings_general import INSTALLED_APPS

INSTALLED_APPS = INSTALLED_APPS + ['django_rundbg',]

DEBUG = True
DEBUG_PROPAGATE_EXCEPTIONS = True

Quickstart
----------

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.

.. figure:: https://www.octobot.io/uploads/django-rundbg/chrome-dev-example.png
:alt: Chrome Dev Console example

Chrome Dev Console example

Invoking
--------

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`` Keep
``request.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*.

Credits
-------

This project is strongly based upon the work of others: - The `Django
Extensions <https://github.com/django-extensions/django-extensions>`__
``runserver_plus`` is a more comprehensive command than this one. - The
`Werkzeug <http://werkzeug.pocoo.org/>`__ server. - `Another
take <https://github.com/philippbosch/django-werkzeug-debugger-runserver>`__
on the same challenge.

Authors
-------

- Juan Saavedra

With :heart: from `Octobot <https://www.octobot.io>`__

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

django-rundbg-0.1.3.tar.gz (11.1 kB view details)

Uploaded Source

Built Distribution

django_rundbg-0.1.3-py2.py3-none-any.whl (10.3 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file django-rundbg-0.1.3.tar.gz.

File metadata

File hashes

Hashes for django-rundbg-0.1.3.tar.gz
Algorithm Hash digest
SHA256 5161a0a2c16575ea53e29bf935379cce44885c5c5989e867f3113a39c9408785
MD5 8312437b370553146ba6ceab5c2db215
BLAKE2b-256 61b8cb111c238b812e9c9546d12bdd86dba29b3a14c66d1047304340b75d8642

See more details on using hashes here.

File details

Details for the file django_rundbg-0.1.3-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for django_rundbg-0.1.3-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 6dfea46b335c63a15347b6ba2ab5cb6dc26bc06d42a285b0602e85cbc2d86942
MD5 8c3e10529fda6648cd48b0bccf7fcac1
BLAKE2b-256 afd4b479cfa1aed1102f61b543f6de52ef7478bee766fa585e4115cb288ce71d

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page