Awesome Django
A curated list of awesome Django apps. Inspired by and based on awesome-python.
Admin interface
Packages that extend the Admin interface, adding or improving features.
- django-admin-bootstrap - Responsible Skin for Django Admin
- 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-suit - Modern theme for Django admin interface.
- django-xadmin - Drop-in replacement of Django admin comes with lots of goodies, fully extensible with plugin support, pretty UI based on Twitter Bootstrap
- django-admin2 - Extendable, adaptable rewrite of django.contrib.admin
Asset Management
Packages that help manage the static assets of a project.
- django-compressor - Compresses linked and inline javascript or CSS into a single cached file.
- django-pipeline - Asset packaging for Django.
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-two-factor-auth - User-friendly Two-Factor authentication.
- django-userena - Accounts for Django made beautifully simple
- python-social-auth - Python Social Auth is an easy-to-setup social authentication/registration mechanism with support for several frameworks and auth providers.
Authorization
Packages related to authorization infrastructure and permissions.
- django-guardian - Implementation of per object permissions as authorization backend.
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
Packages that help manage email sending.
- django-post_office - A simple app to send and manage your emails in Django, supports templates and can be easily integrated with task queues.
- djrill - Email backend and new message class for Mandrill transactional email service from MailChimp.
Fields
Packages that extend the functionality of existing field type or add new field types.
- django-image-tools - A package to handle images in Django.
- django-imagekit - Automated image processing for Django.
- django-picklefield - A pickled object field for Django
File Transfers
Packages that help transfer files between projects and users
- django-downloadview - Serve files with Django.
- django-sendfile - This is a wrapper around web-server specific methods for sending files to web clients.
Forms
Packages that extend the functionality of forms or add new types of forms.
- django-crispy-forms - The best way to have DRY Django forms. The app provides a tag and filter that lets you quickly render forms in a div format while providing an enormous amount of capability to configure and control the rendered HTML.
- django-floppyforms - django-floppyforms is an application that gives you full control of the output of forms rendering. The forms API and features are exactly the same as Django’s, the key difference is that fields and widgets are rendered in templates instead of using string interpolation, giving you full control of the output using Django templates.
RESTful API
Packages for developing RESTful APIs.
- django-rest-framework - A powerful and flexible toolkit that makes it easy to build Web APIs.
- django-rest-swagger - Swagger Documentation Generator for Django REST Framework
- django-tastypie - Creating delicious APIs for Django apps since 2010.
- restless - A lightweight REST miniframework for Python
Migrations
Packages that help migrate the database when there are schema updates.
- South - Django application to provide schema and data migrations. (Integrated into Django 1.7 and up)
Model Extensions
Packages that extend the functionality of models or add new classes of models.
- django-aggregate-if - Conditional aggregates for Django queries, just like the famous SumIf and CountIf in Excel.
- django-model-utils - Django model mixins and utilities.
- django-mptt - Utilities for implementing a modified pre-order traversal tree in django.
Search
Packages that provide search capabilities to projects.
- django-haystack - Modular search for Django.
- django-watson - Fast multi-model full-text search plugin.
Security
Packages that improve the security of a project.
- django-admin-honeypot - A fake Django admin login screen to notify admins of attempted unauthorized access.
- django-debreach - BREACH mitigation for Django apps.
- django-password-session - Invalidate all active sessions after change password (not needed for Django 1.7+).
- django-secure - Helping you remember to do the stupid little things to improve your Django site's security.
- django-stronghold - Stronghold is middleware to default all your views to login required.
Settings
Packages that help manage the configurability of projects.
- django-configurations - A helper for organizing Django project settings by relying on well established programming patterns.
- python-decouple - Strict separation of config from code.
Storage
Packages that extend the functionality of the existing storage backend or provide new storage backends.
- django-storages - django-storages is a collection of custom storage backends for Django.
Tagging
- django-taggit - Simple tagging for Django.
Task Queue
Packages that make working with task/background queues easier.
- django-rq - The easiest way to monitor and use RQ in your Django projects.
- django-celery - Celery Integration for Django. (no longer required for Celery 3.1 and up)
- huey - A little multi-threaded task queue for python.
Testing
Packages that help test code or generate test data.
- django-behave - TestRunner for the Behave BDD module.
- django-faker - Fake-factory to generate test data.
- django-jenkins - Plug and play continuous integration with django and jenkins.
- django-nose - Test runner using nose.
- django-selenium - Selenium testing support.
- django-slowtests - Locate your slowest tests.
- factory_boy - A test fixtures replacement for Python
- lettuce-django-terrain - Terrain file for lettuce in django projects
- model-mommy - Smart fixtures for better tests.
Translations
Packages help with the task of translating projects.
- django-rosetta - Rosetta is a Django application that eases the translation process of your Django projects.
- django-modeltranslation - Translate dynamic content of existing Django models to an arbitrary number of languages without having to change the original model classes
Other
- dj-database-url - Utilize the 12factor inspired DATABASE_URL environment variable to configure your Django application.
- django-activity-stream - Generate generic activity streams from the actions on your site. Users can follow any actors' activities for personalized streams.
- django-braces - Reusable, generic mixins for Django.
- django-extensions - This is a repository for collecting global custom management extensions for the Django Framework.
- django-gravatar2 - Essential Gravatar support for Django. Features helper methods, templatetags and a full test suite!
- django-markitup - A Django reusable application for end-to-end markup handling.
- django-smuggler - Django Smuggler is a pluggable application for Django Web Framework that helps you to import/export fixtures via the automatically-generated administration interface.
- django-solo - Helps working with singletons - things like global settings that you want to edit from the admin site.
- micawber - A small library for extracting rich content from urls.
Projects
Outstanding Django projects.
- Django packages - Django Packages is a directory of reusable apps, sites, tools, and more for your Django projects.
- Opps - A content management platform built for large portals.
- Satchmo - Satchmo is an eCommerce framework created in Django which allows you to develop unique and robust online stores.
- django-cms - The easy-to-use and developer-friendly CMS.
- django-oscar - Domain-driven e-commerce for Django.
- mayan-edms - Open source, Django based DMS (document management system) with custom metadata indexing, file serving integration, OCR capabilities, document versioning and electronic signature verification.
- mezzanine - A content management platform built using the Django framework.
- wagtail - A new Django content management system.
Resources
Where to discover new Django apps and projects.
Websites
- Django Packages - Django Packages is a directory of reusable apps, sites, tools, and more for your Django projects.
- Full Stack Python's Django page contains explanations for Django's philosophy and its components along with links to other resources and tutorials.
Conferences
- DjangoCon US is the largest North American Django conference generally held the first week in September each year.
- DjangoCon Europe is the annual largest European-based Django conference that is usually held in late spring.
Contributing
Just fork and send a pull request with your awesome django apps and/or projects.