mirror of
https://github.com/wsvincent/awesome-django.git
synced 2025-01-30 21:23:45 +00:00
A curated list of awesome things related to Django
71534bea1d
Appliku it is awesome because it allows server setup and app deployment on your own cloud servers without the need of DevOps knowledge |
||
---|---|---|
_includes | ||
_sass/color_schemes | ||
.github | ||
assets | ||
_config.yml | ||
.editorconfig | ||
.gitignore | ||
404.html | ||
CNAME | ||
contributing.md | ||
docker-compose.yml | ||
Gemfile | ||
justfile | ||
LICENSE | ||
modd.conf | ||
README.md |
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
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-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.
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.
- django-ninja - Django Ninja - Fast Django REST framework based on type annotations.
- django-tastypie - Creating delicious APIs for Django apps since 2010.
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.
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.
- djenv - Load Django settings from environmental variables.
- 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.
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.
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-wysiwyg-redactor - A lightweight WYSIWYG editor for Django.
- 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.
Files/Images
- django-cleanup - Zero configuration file/image removal for local and remote files.
Forms
- 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
- 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.
General
- django-filter - Powerful filters based on Django QuerySets.
- django-guardian - Per object permissions in Django.
- django-sql-explorer - Share data via SQL queries.
- django-tables2 - HTML tables with pagination/sorting.
Logging
- django-guid - Inject a GUID (Correlation-ID) into every log message in a Django request.
Models
- django-fakery - An easy-to-use implementation of Creation Methods for Django, backed by Faker.
- django-lifecycle - Declarative model lifecycle hooks, an alternative to Signals.
- django-model-utils - Django model mixins and utilities.
- django-money - Money fields for forms/models.
- django-mptt - Modified Preorder Tree Traversal; working with trees of Model instances.
- django-phonenumber-field - Model/form field for normalized phone numbers.
- django-taggit - Simple model tags.
- django-reversion - Version control for model instances.
- django-simple-history - Store model history and view/revert changes from the admin.
- django-polymorphic - Django-polymorphic simplifies using inherited models in Django projects.
- django-recurrence - Utility for working with recurring dates in Django.
Performance
- django-perf-rec - Keep detailed records of the performance of your Django code.
- New Relic - Time middleware, views, and SQL queries.
- Scout - Time middleware, template rendering, and SQL queries with automatic N+1 detection.
- django-query-profiler - Django query profiler to help resolve N+1 queries.
- django-silk - Live profiling and inspection of HTTP requests and database queries.
- py-spy - Sampling profiler for Python programs.
Search
- django-haystack - Modular search for Django.
- django-watson - Full-text search plugin.
- django-admin-search - Modal filter for django admin.
Search engine optimisation
- django-check-seo - Check SEO of pages.
Security
- django-csp - Adds Content-Security-Policy headers to Django.
- django-feature-policy - Set the draft security HTTP header
Feature-Policy
on a Django app. - django-protected-media - Manages media that are considered sensitive in a protected fashion.
Static Assets
- django-storages - A single library to support multiple custom storage backends for Django.
- django-compressor - Compress JavaScript/CSS into a single cached file.
- easy-thumbnails - Image thumbnails for Django.
Task Queues
- beatserver - A periodic task scheduler for Django.
- django-q - A multiprocessing distributed task queue.
- django-rq - Integration for Redis Queue.
- django-redis - Full featured Redis cache backend for Django.
- celery - Robust and broker-agnostic task queues for bigger, performance-focused projects.
- django-celery-beat - A periodic task scheduler with database configured by Django's Admin Panel.
- celery-exporter - Prometheus & Grafana monitoring of Celery tasks.
- django-dramatiq - Task processing library with a focus on simplicity, reliability and performance.
Testing
- django-debug-toolbar - Configurable panels to debug requests/responses.
- pytest-django - Use pytest features in Django.
- django-test-migrations - Test django schema and data migrations, including migrations' order.
- django-test-plus - Useful additions to Django's default TestCase.
- factory-boy - Test fixtures replacement.
- django-waffle - A feature flipper for Django.
- model-bakery - Object factory for Django (rename of legacy Model Mommy project).
- drf-openapi-tester - Django test utility for validating Swagger 2.0 and OpenAPI 3.0 documentation.
- django-google-optimize - Django application designed to make running server side Google Optimize A/B tests easy.
URLs
- dj-database-url - Database URLs.
- urlman - A nicer way to do URLs for Django models.
- django-robots - This is a basic Django application to manage robots.txt files following the robots exclusion protocol, complementing the Django Sitemap contrib app.
Users
- django-allauth - Improved user registration including social auth.
- django-organizations - Multi-user accounts for Django projects.
- django-cas-ng - Django-cas-ng is Django CAS (Central Authentication Service) 1.0/2.0/3.0 client library to support SSO (Single Sign On) and Single Logout (SLO).
Views
- django-braces - Reusable, generic mixins.
- django-easy-audit - Keep track of user actions.
- django-extra-views - Extra class-based generic views.
- django-vanilla-views - Simpler class-based views in Django.
- django-stronghold - Makes all your Django views default login_required.
Python Packages
A short list of Python packages that work well with Django.
- bleach - Sanitize your inputs/forms.
- black - Uncompromising Python code formatter.
- coveragepy - Code coverage measurement.
- faker - Faker is a Python package that generates fake data for you.
- huey - A little task queue for Python.
- nplusone - Auto-detect n+1 queries.
- pillow - Python Imaging Library.
- pytest - Testing framework.
- python-decouple - Strict separation of settings from code.
- python-slugify - Returns unicode slugs.
- sentry-python - Error reporting SDK.
- whitenoise - Simplified static file serving for Python websites.
Resources
Official Resources
- [Project Website](https://www.djangoproject.com/) - Official Django website.- Documentation - Comprehensive documentation for all Django versions.
- Polls Tutorial - Build a polls tutorial while learning Django internals.
- Source Code - Hosted on GitHub.
Educational
- Django Girls Tutorial - Use function-based views to build a blog app.
- LearnDjango - Tutorials and premium courses on Django and Django REST Framework.
- Adam Johnson - Adam is on the Technical Board of Django and regularly writes tutorials.
- TestDriven - Multiple Django-specific tutorials on topics like Docker, payments, and more.
- Classy Class-Based Views - Detailed descriptions of methods/properties/attributes for each generic class-based view.
- Classy Django Forms - Detailed descriptions of methods/properties/attributes for each form class.
- Classy Django REST Framework - Detailed descriptions with methods/attributes for DRF class-based views and serializers.
- Simple is Better than Complex - Regularly updated website with many tutorials and tips on Django.
- Full Stack Python's Django Page - Explanation of Django philosophy and links to other resources and tutorials.
- RealPython - Many high-quality tutorials on Django.
- Mozilla Tutorial - Create a lending library app.
- Matt Layman - Regular tutorials and deep-dives on Django topics.
- Django Sites - Comprehensive listing of sites built with Django.
- Django Styleguide - Styleguide for Django with best practices and examples.
- Django Template Tags and Filters - Additional docs on Django's 57 built-in template filters and 27 template tags.
Community
- Django Forum - Official Discourse board.
- Community Page - Featuring feeds of Community Blog Posts, Jobs, and more.
- Django Users Google Group - Very active discussion board for questions/answers.
- Developers Google Group - For contributions to Django itself only.
- Twitter - For official announcements on updates, security fixes, etc.
- IRC Channel - Chat with other Django users at irc://irc.freenode.net/django.
Conferences
- DjangoCon US (YouTube Channel)
- DjangoCon Europe (YouTube Channel)
- DjangoCon AU
- DjangoCon Africa
- Django Day Copenhagen
- PyCon US (YouTube Channel)
- PyCon Australia (YouTube Channel)
- Euro Python (YouTube Channel)
- Django Under the Hood
- Complete listing of all PyCons globally
Newsletters
- Django News - Weekly newsletter on announcements, articles, projects, and talks.
Podcasts
- Django Chat - A weekly podcast from William Vincent and Django Fellow Carlton Gibson with discussions of core Django concepts and regular guests.
- Django Riffs - A new podcast from Matt Layman.
- Running in Production - Focused on tech stacks with many episodes specifically on Django.
- TalkPython - The leading Python podcast with several episodes on Django.
- Podcast Init - A popular Python podcast that features Django guests on occasion.
Books
Django 3.2
- Speed Up Your Django Tests
- Django for Beginners: Build websites with Python and Django
- Two Scoops of Django 3.x: Best Practices for the Django Web Framework
- A Wedge of Django: Covers Python 3.8 and Django 3.x
Django 3.1
- Django for APIs: Build web APIs with Python and Django
- Django for Professionals: Production websites with Python and Django
Django 3.0
- Django 3 by Example
- Django 3 Web Development Cookbook
- Mastering Django
- Build a website with Django 3
Django 2.2
Hosting
PaaS (Platforms-as-a-Service)
IaaS (Infrastructure-as-a-Service)
Projects
Boilerplate
- cookiecutter-django - A full-bodied starter project, highly customizable.
- django-base-site - A Django site with many common third-party packages pre-installed.
- djangox - Batteries included starter project for Pip, Pipenv, or Docker.
- DRFx - A DRF starter with user auth, Pipenv, and other goodies.
- django-project-template - A deliberately basic project that has multiple staging environments and Heroku deployment config.
- docker-django - A quick starter guide for Django and Docker together.
- wemake-django-template - Bleeding edge Django template focused on code quality and security.
- django-webpack-starter - Django Webpack starter template for using Webpack 4.
- sos-django-template - Django starter template with separate dev and production settings.
- django-docker-heroku-template - A template with Docker, GitHub Actions, and Heroku set up for dev/test/prod, plus various other best practices.
- cookiecutter-vue-django - Django + Vue starter project fusing Vue SFCs & Django Templates.
- launchr - Launchr is a specialized Django starter template for SaaS web apps.
Open Source Projects
- Blog app with users and forms
- Newspaper app with custom user model, full user auth
- pythonic-news - Hacker News clone.
- Behavior-Driven Development with Aloe
- Image Sharing Blog
- Bootcamp: An enterprise social network
- Zulip - Open-source team chat.
- Django-CRM - Open Source Python CRM based on Django.
- django-job-portal - Job portal application using Django.
- Built with Django - Curated list of awesome Django projects.
- PostHog - Open-source product analytics.
- HyperKitty - A web interface to access GNU Mailman v3 archives.
- Healthchecks - A Cron Monitoring Tool written in Python & Django.
Django REST Framework
The most popular way to build web APIs with Django.
DRF Resources
DRF Tutorials
- Official REST Framework - A Beginner's Guide
- DRF Blog API
- Building APIs with Django and DRF
- DRF with React: Todo API
- DRF with React
- Making React and Django play well together
Wagtail
Wagtail, the powerful CMS for modern websites.
Wagtail Resources
- Official Documentation
- Wagtail Source Code
- awesome-wagtail
- This week in Wagtail - A (most) weekly email with updates from the Wagtail core team.
- Wagtail Space - Wagtail CMS events around the world.