mirror of
https://github.com/wsvincent/awesome-django.git
synced 2025-02-17 13:58:09 +00:00
A curated list of awesome things related to Django
Hello. For your consideration, I added djenv, which is a library that allows you to configure Django settings with environmental variables. It automatically deciphers what environmental variables corresponds to what Django settings. It also automatically casts the environmental variables into the right type. Thank you for your time. |
||
---|---|---|
.github/workflows | ||
.gitignore | ||
contributing.md | ||
django-logo.svg | ||
LICENSE | ||
Makefile | ||
README.md |
Awesome Django
A curated list of awesome things related to Django.
Contents
Third-Party Packages
For a complete listing of all available packages, see Django Packages
- 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.
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.
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.
Async
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.
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
Content Management Systems
- wagtail - Popular Django content management system (CMS). See awesome-wagtail too.
- mezzanine - CMS framework.
- django-cms - CMS for Django.
- 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.
Files/Images
- django-cleanup - Zero configuration file/image removal for local and remote files.
Forms
- django-crispy-forms - DRY Django forms.
- django-widget-tweaks - Tweak form field rendering in templates.
- django-autocomplete-light - Add autocompletion to forms.
- django-shapeshifter - A CBV to handle multiple forms in one view.
- django-summernote - Summernote is a simple WYSIWYG editor.
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-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.
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 - Silky smooth profiling for Django.
- py-spy - Sampling profiler for Python programs.
Search
- django-haystack - Modular search for Django.
- django-watson - Full-text search plugin.
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.
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-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-silk - Live profiling and inspection of HTTP requests and database queries.
- django-waffle - A feature flipper for Django.
- model-bakery - Object factory for Django (rename of legacy Model Mommy project).
- django-swagger-tester - Django test utility for validating Swagger 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-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.
- huey - A little task queue for Python.
- nplusone - Auto-detect n+1 queries.
- pillow - Python Imaging Library.
- pytest - Testing framework.
- python-slugify - Returns unicode slugs.
- sentry-python - Error reporting SDK.
- whitenoise - Simplified static file serving for Python websites.
Resources
Official Resources
- Project Website - 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 writes regular 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.
Community
- Django Forum - 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)
- 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.1
- Django for Beginners: Build websites with Python and Django
- Django for APIs: Build web APIs with Python and Django
- Django for Professionals: Production websites with Python and Django
Django 3.0
- Django Crash Course
- Speed Up Your Django Tests
- Two Scoops of Django 3.x: Best Practices for the Django Web Framework
- Django 3 by Example
- Django 3 Web Development Cookbook
- Mastering Django
Django 2.2
Django 2.1
Django 2.0
Django 1.11
Hosting
PaaS (Platforms-as-a-Service)
IaaS (Infrastructure-as-a-Service)
Projects
Boilerplate
- cookiecutter-django - A full-bodied starter project, highly customizable.
- djangox - A simpler approach with complete user authentication flow, Pipenv, and more.
- 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.
- ponee - A lightweight Django template ready for Heroku.
- wemake-django-template - Bleeding edge Django template focused on code quality and security.
- django2-project-template - A quick starter template with PostgreSQL.
- 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.
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.
- saleor - E-commerce storefront.
- 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
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.