A curated list of awesome Django apps, projects and resources.
Q: What is an awesome Django package?
A: An awesome package is one that is mature (not recently released), is well maintained, has a good amount of users, has good documentation, follows the best practices, and which latest release is less than 1 year old. Awesome Django packages and projects are the ones that inspire and serve as examples.
Twitter feed: twitter.com/AwesomeDjango
Contents
-
- Admin Interface
- Analytics
- Asset Management
- Authentication
- Authorization
- Blog Management
- Boilerplate
- Caching
- Compatibility
- CRM
- Dashboards
- Data Sciences
- Database
- Debugging
- Fields
- File Transfers
- Forms
- GIS
- Image handling
- Import/Export
- Migrations
- Mobile Support
- Model Extensions
- Multi-tenancy
- Payment Processing
- Project Management
- Reporting
- RESTful API
- SEO
- Search
- Security
- Settings
- Storage
- Tagging
- Task Queue
- Testing
- Thumbnail
- Translations
- Views
- Web front-end integration
- Wiki apps
- Workflows
- WYSIWYG Editors
- Other
Admin interface
Packages that extend the Admin interface, adding or improving features.
- Django Unfold - Unfold Django Admin Theme
- Django Jazzmin - Drop-in theme for django admin, that utilises AdminLTE 3 & Bootstrap 4 to make yo' admin look jazzy
- django-admin-vol - Modern Bootstrap5 Design
- django-semantic-admin - Django Semantic UI admin theme.
- djamin - A new style for Django admin.
- django-admin-bootstrap - Responsive Skin for Django Admin.
- django-admin-bootstrapped - A Django admin theme using Twitter Bootstrap.
- django-admin-easy - Collection of admin fields and decorators.
- django-admin-interface - The ultimate admin interface, based on a modern flat theme, it lets you customize the admin title, logo and colors by the admin itself.
- django-admin-tools - A collection of extensions/tools for the default django administration interface.
- django-admin2 - Extendable, adaptable rewrite of django.contrib.admin
- django-flat-theme - A flat theme for Django admin interface. Modern, fresh, simple. (merged into Django 1.9+)
- django-flat-responsive - An extension for Django admin and django-flat-theme that makes interface mobile friendly.
- django-fluent-dashboard - An improved django-admin-tools dashboard for Django projects.
- django-grappelli - A jazzy skin for the Django Admin-Interface.
- django-hijack - Allows superusers to hijack (=login as) and work on behalf of another user.
- django-jet - Modern responsive template for the admin interface with improved functionality.
- django-jet-reboot - Django Jet is modern template for Django admin interface with improved functionality.
- django-material Material design for Django Forms and Admin. Template driven.
- django-object-actions A Django app for adding object tools for models in the admin.
- django-suit - Modern theme for Django admin interface.
- django-wpadmin - WordPress look and feel for Django administration panel.
- django-xadmin - Drop-in replacement of Django admin comes with lots of goodies, fully extensible with plugin support, pretty UI based on Twitter Bootstrap.
- yawd-admin - An administration website for Django.
- django-admin-env-notice - Visually distinguish environments in Django Admin, for example:
development
,staging
,production
, ... etc.
Analytics
Packages that do web analytics or integrate web analytics services.
- django-analytical - Integrates analytics services with a generic interface, templates stay clean.
Asset Management
Packages that help manage the static assets of a project.
- Collectfast - A faster collectstatic command.
- django-compressor - Compresses linked and inline JavaScript or CSS into a single cached file.
- django-gears - Compiles and concatenates JavaScript and CSS assets.
- django-htmlmin - HTML minifier for Python with full support for HTML 5 and Django.
- django-pipeline - Asset packaging for Django.
- django-systemjs - Django SystemJS brings the JavaScript of tomorrow to Django, today. (JSPM integration in Django)
- django-webpack-loader - Transparent webpack integration for django.
- python-webpack - Python bindings for webpack with django integration.
- django-webpacker - A django compressor tool which bundles CSS, JS files to a single CSS, JS file with webpack and updates your HTML files with respective CSS, JS file path.
Authentication
Packages that improve or extend the authentication methods of Django.
- django-allauth - Integrated set of Django applications addressing authentication, registration, account management as well as 3rd party (social) account authentication.
- django-organizations - Multi-user accounts for Django projects.
- django-registration - Simple user-registration application for Django, designed to make allowing user sign-ups as painless as possible.
- django-two-factor-auth - User-friendly Two-Factor authentication.
- django-userena - Accounts for Django made beautifully simple.
- djoser - REST implementation of Django authentication system.
- python-social-auth - Python Social Auth is an easy-to-setup social authentication/registration mechanism with support for several frameworks and auth providers.
- dj-rest-auth - Drop-in API endpoints for handling authentication securely in Django Rest Framework. Works especially well with SPAs (e.g React, Vue, Angular), and Mobile applications.
- django-use-email-as-username - A Django app to use email as username for user authentication.
Authorization
Packages related to authorization infrastructure and permissions.
- django-guardian - Implementation of per object permissions as authorization backend.
- django-oauth-toolkit - OAuth2 goodies for the Djangonauts!
- django-oauth2-provider - Provide OAuth2 access to your app.
- django-oml - Object Moderation Layer, mixin for models that allows you moderate several content types.
- django-permission An enhanced permission library which enables a logic-based permission system to handle complex permissions in Django.
- django-rules - A tiny but powerful app providing object-level permissions to Django, without requiring a database. At its core, it is a generic framework for building rule-based systems, similar to decision trees. It can also be used as a standalone library in other contexts and frameworks.
Blog Management
Packages to build and manage a blog app.
-
django-blog-zinnia - Simple yet powerful and really extendable application for managing a blog within your Django Web site.
-
puput - A Django blog app implemented in Wagtail.
-
django-blog-it - complete customizable and ready to use blog with one click installer.
Boilerplate
Packages related to starting a new project.
- cookiecutter - A command-line utility that creates projects from cookiecutters (project templates).
- django-hackathon-starter - A boilerplate for Django web applications, containing various social authentication methods and several popular API examples.
- edge - A Django project skeleton that is modern and cutting edge.
- demo-allauth-bootstrap - Django sample app with users including social auth via Django-AllAuth.
- wemake-django-template - Bleeding edge Django template focused on code quality and security.
- fuzzy-couscous - A cli tool to bootstrap your django projects and enhance your development experience.
- sidewinder - A Django starter kit that focuses on good defaults, developer experience, and deployment
Caching
Packages that help with caching.
- django-cachalot - Caches your Django ORM queries and automatically invalidates them.
- django-cache-machine - Automatic caching and invalidation for Django models through the ORM.
- django-cacheops - A slick ORM cache with automatic granular event-driven invalidation.
- django-memoize - An implementation of memoization technique for Django.
- django-ormcache - A cache manager mixin that provides some caching of objects for the ORM.
- django-redis-cache - A Redis cache backend for django.
- johnny-cache - Johnny Cache is a caching framework for django applications.
- diskcache - Fast SQLite and file backed cache backend for Django.
Compatibility
Packages that help to keep compatibility of reusable apps between different Django versions.
- django-compat - Forward and backwards compatibility layer for the officially supported Django versions.
- django-compat-lint - Check Django compatibility of your code.
CRM
Packages that help to manage business relationships of the organization.
- Django-CRM - Customer relationship management dashboard where you can manage customers at sales of the organization. It Provides to manage leads information and its activity, track issues from leads, manage contacts to send emails of leads and accounts.
Dashboards
Packages that create information dashboards to visualize data.
- django-dashing - a customisable, modular dashboard application framework for Django to visualize interesting data about your project. Inspired in the exceptionally handsome dashboard framework Dashing.
Data sciences
Packages that make it easier to work with large volumes of data.
- rest-pandas - Serves up your Pandas dataframes via the Django REST Framework for use in client-side (i.e. d3.js) visualizations and offline analysis (e.g. Excel).
Database
Packages that add support for 3rd party databases or database specific features.
- dj-database-url - Use Database URLs in your Django Application.
- django-mysql - Extensions to Django for use with MySQL/MariaDB.
- django-postgres-fuzzycount - Fast / fuzzy PostgreSQL counts for Django.
- django-postgrespool - Postgres Connection Pooling for Django, powered by SQLAlchemy.
- djongo - Django and MongoDB database connector.
Debugging
Packages that help hunt down bugs.
- django-debug-toolbar - A configurable set of panels that display various debug information about the current request/response.
- django-devserver - A drop in replacement for Django's built-in runserver command.
- django-querycount - Middleware that Prints the number of DB queries to the runserver console.
- django-silk - Silky smooth profiling for Django.
- nplusone - Auto-detecting the n+1 queries problem in Django. (and other ORMs)
- sentry - A modern error logging and aggregation platform.