Django's Ecosystem
Django's Secret Sauce is its ecosystem of third-party apps and add-ons.
No matter your need, there'll be a package you can use or take ideas from.
Resources
- Awesome Django — A curated list of awesome things related to Django.
- Django Packages — A directory of reusable apps, sites, tools, and more for your Django projects.
- Jazzband — A collaborative community to share the responsibility of maintaining Python-based (but mainly Django) projects.
- Django Commons — an organization dedicated to supporting the community's efforts to maintain packages.
- DjangoGirls — Django Girls is a non-profit organization and a community that empowers and helps women to organize free, one-day programming workshops by providing tools, resources and support.
- Django News — Weekly Django news, articles, projects, and more.
- DjangoChat Podcast — A podcast on the Django Web Framework.
- DjangoBrew Podcast — A fun, caffeine-powered podcast about the Django web.
- DjangoGirls Podcast — A podcast sharing the stories of attendees, coaches and organisers of DjangoGirls workshops around the world.
- DjangoBook.com — An aggregator for in-print books and courses on Django.
- YouTube DjangoCon US — Django Conference US YouTube channel.
- YouTube DjangoCon Europe — Django Conference Europe YouTube channel.
- Django.tv — Django video content platform.
- Classy Class-Based Views Documentation — Alternative docs with detailed descriptions, with full methods and attributes, for each of Django's class-based generic views.
- Classy Django REST Framework — Alternative docs with detailed descriptions, with full methods and attributes, for each of Django REST Framework's class-based views and serializers.
- DjangoGirls Tutorial — A great tutorial you can do in addition to the official tutorial.
- Follow Django on Social Media — Bluesky, Mastodon, LinkedIn, Twitter
Explore! A whole world awaits you.
Packages - use community solutions
We could never list everything but here are some packages that the Steering Council all agree are incredibly useful and well supported. We use many of these in all of our projects.
We will refresh this list at least yearly to keep up to date.
Debugging & Development Tools
- Django Debug Toolbar — A configurable set of panels that display various debug information about the current request/response.
- django-browser-reload — Enables automatic browser reloading during development when code changes are detected.
- Django Extensions — A collection of custom extensions for Django, including management commands, model field types, and more.
Storage & Static Files
- django-storages — Provides a variety of storage backends for Django, including S3, Azure, and more. Learn More...
- Whitenoise — Serves static files directly from Django without the need for a separate web server.
API Development
- Django REST Framework (DRF) — A powerful and flexible toolkit for building Web APIs in Django.
- Django Ninja — A fast, asynchronous-ready web framework for building APIs with Django and Python type hints.
Content Management Systems (CMS)
- Wagtail — An open-source Django CMS focused on flexibility and user experience.
- Django CMS — A user-friendly and developer-friendly CMS for Django, offering multilingual support and a plugin architecture.
- FeinCMS — A Django-based CMS with a focus on extensibility and minimalism.
Authentication & Authorization
- Django Allauth — Integrated set of Django applications addressing authentication, registration, account management, and third-party (social) account authentication.
- Python Social Auth - Django — Easy-to-setup social authentication/registration mechanism with support for several frameworks and auth providers.
- Django Guardian — Implementation of per-object permissions for Django, allowing fine-grained access control.
- django-impersonate — Allows superusers to impersonate other users for debugging or support purposes.
- Django Hijack — Enables admins to log in and work on behalf of other users without needing their credentials.
- django-loginas — Adds a "Log in as user" button in the Django admin interface for easy user impersonation.
Forms & Views
- django-crispy-forms — Helps to manage Django forms in a DRY way, allowing control over form rendering behavior.
- django-extra-views — Provides additional class-based views to complement Django's built-in generic views.
Templates
- django-template-partials — Reusable named inline partials for Django Templates.
Environment Configuration
- python-dotenv — Reads key-value pairs from a .env file and can set them as environment variables, aiding in development and deployment.
- django-environ — Allows you to utilize 12-factor methodology to configure your Django application with environment variables.
Security & Middleware
- Django CORS Headers — Adds Cross-Origin Resource Sharing (CORS) headers to Django responses, allowing or blocking cross-origin requests.
- Django CSP — Implements Content Security Policy for Django applications to prevent XSS and other code injection attacks.
Testing & Fixtures
- Model Bakery — A tool for creating model instances for testing purposes, focusing on simplicity and speed.
- Factory Boy — A test fixtures replacement that provides a powerful way to create test data.
- time-machine — A tool for mocking time in tests.
Admin Interface Enhancements
- django-admin-sortable2 — Adds drag-and-drop sorting functionality to the Django admin interface.
- Django Import Export — Allows importing and exporting of data through the Django admin interface using various formats.
Internationalization & Localization
- django-modeltranslation — Translates dynamic content of existing models to different languages without having to change the original model structure.
- django-modeltrans — Provides a simple way to translate Django models using a JSONField.
- django-rosetta — Simplifies the translation process of Django projects by providing a web-based interface to edit .po files.
Email & Notifications
- django-anymail — Integrates various transactional email services (like Mailgun, SendGrid) with Django's email backend.
- Django Pony Express — A simple email queuing and sending system for Django applications.
Utilities & Miscellaneous
- Django Tasks — A lightweight task queue for Django applications, suitable for simple background task processing.
- django-waffle — Feature flipper for Django, allowing for easy rollout and testing of new features.
- django-filter — Provides a simple way to filter down querysets based on user selections.
More Information
Some things require more information than others. To keep the above more scanable we will include any in-depth information here.
django-storages
This package is perfect when deploying Django in situations that do include a shared filesystem. For either uploaded files from users and/or you static media if is often necessary to store files using "object storage" such as Amazon S3.
Keep in mind there are many S3 compatible object storage systems. Most cloud providers you may have an option and if not you can run your own MinIO instance. Get more information which options are supported in the django-storages docs.
Back to Top