With pytest-django, you can take advantage of pytest's ecosystem in your Django project seamlessly. Besides the better API, I especially like the --nomigrations flag because it allows running tests without migrating the database. Perfect for TDD.
Also, Django's assertions are still available:
from pytest_django.asserts import assertTemplateUsed
We look at documentation all the time, and clicking links while scrolling pages can be time-consuming. These apps provide instant, off-line search across multiple doc sets. Although not Django specific, Django's doc set is available on both:
The Django debug toolbar provides various debug information, from SQL queries run on a given request to the signals emitted. It also has a variety of community developed panels for extra details, like the template-profiler
The django-extensions is a collection of additional management commands made available through python manage.py
. It provides reusable commands for job scheduling, template validation, among many others. One of my favorites is the graph_models, which provides a graphical overview of Django's models:
5. IPython
In conjunction with django-extensions, if you have IPython available to your project, running python manage.py shell_plus
will load your project's models into an IPython shell, which is super handy to explore the projects interconnections: