UNKNOWN
Project description
Make debugging Django easier
Adding pdb.set_trace() to your source files every time you want to break into pdb sucks.
Don’t do that.
Do this.
Installation
Install using pip:
pip install django-pdb
Add to your settings.py:
# Make sure to add django_pdb before any apps that override the 'runserver' # or 'test' commands (Includes south and django.contrib.staticfiles) INSTALLED_APPS = ( ... 'django_pdb', ... ) # After your MIDDLEWARE classes: if DEBUG: MIDDLEWARE_CLASSES += ('django_pdb.middleware.PdbMiddleware',)
Usage
manage.py runserver
Drops into pdb at the start of a view if the URL includes a pdb GET parameter.
Drops into ipdb at the start of a view if the URL includes a ipdb GET parameter.
This behavior is only enabled if settings.DEBUG = True:
bash: testproject/manage.py runserver Validating models... 0 errors found Django version 1.3, using settings 'testproject.settings' Development server is running at http://127.0.0.1:8000/ Quit the server with CONTROL-C. GET /test?pdb function "myview" in testapp/views.py:7 args: () kwargs: {} > /Users/tom/github/django-pdb/testproject/testapp/views.py(8)myview() -> a = 1 (Pdb)
manage.py runserver --pdb or manage.py runserver --ipdb
Drops into pdb/ipdb at the start of every view:
bash: testproject/manage.py runserver --pdb Validating models... 0 errors found Django version 1.3, using settings 'testproject.settings' Development server is running at http://127.0.0.1:8000/ Quit the server with CONTROL-C. GET /test function "myview" in testapp/views.py:7 args: () kwargs: {} > /Users/tom/github/django-pdb/testproject/testapp/views.py(7)myview() -> a = 1 (Pdb)
manage.py test --pdb or manage.py test --ipdb
Drops into pdb/ipdb on test errors/failures:
bash: testproject/manage.py test testapp --pdb Creating test database for alias 'default'... E ====================================================================== >>> test_error (testapp.tests.SimpleTest) ---------------------------------------------------------------------- Traceback (most recent call last): File "/Users/tom/github/django-pdb/testproject/testapp/tests.py", line 16, in test_error one_plus_one = four NameError: global name 'four' is not defined ====================================================================== > /Users/tom/github/django-pdb/testproject/testapp/tests.py(16)test_error() -> one_plus_one = four (Pdb)
Other apps that override test/runserver
manage.py test --pdb does not yet work if you also have other apps that override the test command.
manage.py runserver --pdb does not yet work if you also have other apps that override the runserver command.
Adding ?pdb to the URL does work even if you have other apps that override the runserver command.
Make sure to put django_pdb before any conflicting apps in INSTALLED_APPS so that they have priority.
Notable apps include django.contrib.staticfile and south.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
File details
Details for the file django-pdb-0.2.3.zip
.
File metadata
- Download URL: django-pdb-0.2.3.zip
- Upload date:
- Size: 9.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | bedb81701ad98292d6fedf94ae1ddd7869ed581d9078b68097f97cc6e3c0c6c8 |
|
MD5 | b77097e715934e10dd0f1cc8a9477c9c |
|
BLAKE2b-256 | 079028062650ebe11b9f956b426ce96bd59e620d28f248055adc1c3052a6cef0 |
File details
Details for the file django-pdb-0.2.3.tar.gz
.
File metadata
- Download URL: django-pdb-0.2.3.tar.gz
- Upload date:
- Size: 5.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 919fd677dc45eececb42809f81b1a5dc4ffabbe340defe5785d145d7a136af15 |
|
MD5 | 175bef3f1dbdf9aca76e7de80cd940b8 |
|
BLAKE2b-256 | 589969947e23cd818fe24f06c6138345d4c5a436ed50a1df3725484db055e89a |