Awesome Django
A curated list of awesome things related to Django. Maintained by William Vincent and Jeff Triplett.
Please consider supporting Django by making a donation to the Django Software Foundation, sponsoring via GitHub Sponsors, or buying official merchandise.
Contents
- Third-Party Packages
- Admin
- APIs
- Async
- Caching
- Commands
- Configuration
- Content Management Systems
- Database Connectors
- ECommerce
- Editors
- Files/Images
- Forms
- Full-stack frameworks
- General
- Internationalisation
- Logging
- Mailing
- Model Fields
- Models
- Performance
- Permissions
- Search
- Search Engine Optimisation
- Security
- Static Assets
- Task Queues
- Templates
- Testing
- URLs
- Users
- Views
- Python Packages
- Resources
- Hosting
- Projects
- Django REST Framework
- Wagtail
Third-Party Packages
For a complete listing of all available packages, see Django Packages
Admin
- django-grappelli - A jazzy skin for the admin.
- django-jazzmin - Drop-in theme for django admin, that utilises AdminLTE 3 & Bootstrap 4 to make yo' admin look jazzy.
- django-hijack - Admins can log in and work on behalf of other users without having to know their credentials.
- django-import-export - Django application and library for importing and exporting data with admin integration.
- django-admin-honeypot - Configure a honeypot to see who's trying to hack your site.
- django-loginas - "Log in as user" for the Django admin.
- impostor - Impostor is a Django application which allows staff members to login as a different user by using their own username and password.
- django-impersonate - Allow superusers to “impersonate” other non-superuser accounts.
- django-admin-env-notice - Visually distinguish environments in Django Admin, for example:
development
,staging
,production
. - django-admin-interface - Customize Admin by the admin itself(color, header. title,logo) and popup windows replaced by modals.
- django-material-admin - Material design for django administration.
- django-related-admin - A helper library that allows you to write list_displays accross foreign key relationships.
- django-semantic-admin - Django Semantic UI admin theme.
- django-jet-reboot - Django Jet is modern template for Django admin interface with improved functionality.
- django-baton - A cool, modern and responsive django admin application based on bootstrap 5.
- django-admin-sortable2 - Generic drag-and-drop ordering for objects in the Django admin interface.
- django-unfold - Modern Django admin theme for seamless interface development
APIs
- django-rest-framework - Web APIs for Django.
- django-cors-headers - If your back-end and front-end are on different servers, you need this.
- dj-rest-auth - Authentication for Django Rest Framework.
- django-rest-knox - Authentication Module for django-rest-auth.
- djoser - REST implementation of Django auth.
- djaq - An instant remote API to Django models with a powerful query language.
- django-rest-framework-simplejwt - JSON web tokens for DRF.
- django-webpack-loader - Transparently use webpack with Django.
- drf-yasg - Automated generation of real Swagger/OpenAPI 2.0 schemas from Django REST Framework code.
- graphene-django - GraphQL for Django.
- graphene-django-filter - Advanced filters implementing and/or/not operators in GraphQL for Django.
- django-ninja - Django Ninja - Fast Django REST framework based on type annotations.
- django-tastypie - Creating delicious APIs for Django apps since 2010.
- drf-spectacular - Sane and flexible OpenAPI 3 schema generation for Django REST framework.
- django-webhook - A plug-and-play Django app for sending outgoing webhooks on model changes.
Async
Caching
- django-cachalot - Caches your Django ORM queries and automatically invalidates them.
- django-cacheops - A slick ORM cache with automatic granular event-driven invalidation.
Commands
- django-extensions - Custom management extensions, notably
runserver_plus
andshell_plus
. - django-click - Write Django management commands using the click CLI library.
- django-dbbackup - Management commands to help backup and restore your project database and media files.
- django-liquidb - Django application to simplify migration management and changes in states of db scheme.
- django-migration-zero - Holistic implementation of "migration zero" pattern for Django covering local changes and in-production database adjustments.
- django-typer - Write Django management commands using the Typer CLI library.
Configuration
- confidential - Manage configs and secrets (with CLI support).
- django-environ - Environment variables.
- django-split-settings - Organize multiple settings files.
- django-constance - A Django app for storing dynamic settings in pluggable backends (Redis and Django model backend built in) with an integration with the Django admin app.
- django-configurations - eases Django project configuration by relying on the composability of Python classes and following principles of the twelve-factor app.
- dynaconf - Dynaconf loads django settings from multiple sources (multiple file formats, env vars, redis, vault, etcd), manages secrets, and allows for different merging strategies all following the twelve-factor app.
- django-extra-settings - Config and manage typed extra settings using just the django admin.
- environs - Simplified environment variable parsing that comes with a Django helper that installs additional packages.
- django-classy-settings - Class based settings to keep your environments in order, with easy access to typed environment variables.
- django-content-settings - easily create and manage editable typed variables directly from the Django admin panel.
Content Management Systems
- wagtail - Popular Django content management system (CMS). See awesome-wagtail too.
- mezzanine - CMS framework.
- django-cms - CMS for Django.
- feincms - An extensible Django-based CMS.
- puput - Blog app features with Wagtail.
Database Connectors
- djongo - Django and MongoDB database connector.
ECommerce
- saleor - GraphQL-based Django E-Commerce Platform.
- django-shop - Django-based shop system.
- shuup - Django E-Commerce Platform.
- django-oscar - Domain-driven e-commerce for Django.
Editors
- django-ckeditor - Django admin CKEditor integration.
- django-markdownx - Comprehensive Markdown plugin built for Django.
- django-markdown-editor - Awesome Django Markdown Editor, supported for Bootstrap & Semantic-UI.
- django-business-logic - Visual DSL framework for Django.
- django-quill-editor - Makes Quill.js easy to use on Django Forms and admin sites.
- django-summernote - Summernote is a simple WYSIWYG editor.
- django-tinymce - TinyMCE integration for Django.
- django-prose - A light weight editor to content creation.
- django-ace - ACE integration for Django.
Files/Images
- django-cleanup - Zero configuration file/image removal for local and remote files.
- django-imagekit - Django app for processing images for thumbnail, black-and-white and sizes.
- django-pictures - Responsive cross-browser image library using modern codes like AVIF & WebP.
- sorl-thumbnail - Thumbnails for Django.
Forms
- django-bleach - Integrate bleach into forms and models. See
django-nh3
as an alternative. - django-crispy-forms - DRY Django forms.
- django-floppyforms - Full control of form rendering.
- django-formtools - For form previous and multi-step forms, previously part of Django until 1.8.
- django-widget-tweaks - Tweak form field rendering in templates.
- django-autocomplete-light - Add autocompletion to forms.
- django-shapeshifter - A class-based view to handle multiple forms in one view.
Full-stack frameworks
- ReactPy - It's React, but in Python. Insert dynamically rendered Python into Django templates using the ReactPy-Django module.
- Reactor - Phoenix LiveView, but for Django.
- Sockpuppet - Build reactive applications with the Django tooling you already know and love.
- Unicorn - A reactive component framework that progressively enhances a normal Django view, makes AJAX calls in the background, and dynamically updates the DOM.
- iommi - Toolkit for development of CRUD applications without writing HTML or JavaScript.
General
- django-data-browser - Interactive, user-friendly database explorer.
- django-filter - Powerful filters based on Django QuerySets.
- django-sql-explorer - Share data via SQL queries.