mirror of
https://github.com/wsvincent/awesome-django.git
synced 2024-12-18 00:00:15 +00:00
A curated list of awesome things related to Django
.gitignore | ||
contributing.md | ||
django-logo.svg | ||
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-environ - Environment variables
- 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-hijack - Admins can log in and work on behalf of other users without having to know their credentials
- django-import-export - Import/export data more easily 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
- xadmin - Drop-in replacement with goodies
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
- django-rest-auth - REST API endpoints for authentication and registration
- django-rest-knox - Authentication Module for django-rest-auth
- djoser - REST implementation of Django auth
- django-rest-framework-simplejwt - JSON web tokens for DRF
- django-webpack-loader - Transparently use webpack with Django
- graphene-django - GraphQL for Django
APM (Application Performance Monitoring)
- New Relic - Time middleware, views, and SQL queries.
- Scout - Time middleware, template rendering, and SQL queries with automatic N+1 detection.
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
Content Management Systems
- wagtail - Popular Django content management system (CMS)
- mezzanine - CMS framework
- django-cms - CMS for Django
- puput - Blog app features with Wagtail
ECommerce
- django-shop - Django-based shop system
- shuup - Django E-Commerce Platform
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
- bleach - Technically not a Django package but very useful
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
Search
- django-haystack - Modular search for Django
- django-watson - Full-text search plugin
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
- whitenoise - Simplified static file serving for Python websites
- easy-thumbnails - Image thumbnails for Django
Task Queues
- huey - A little task queue for Python
- django-q - A multiprocessing distributed task queue
- django-rq - Integration for Redis Queue
- django-redis - Full featured Redis cache backend for Django
Testing
- django-debug-toolbar - Configurable panels to debug requests/responses
- pytest-django - Use pytest features in Django
- 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)
Users
- django-allauth - Improved user registration including social auth
- django-organizations - Multi-user accounts for Django projects
Views
- django-braces - Reusable, generic mixins
- django-extra-views - Extra class-based generic views
- django-vanilla-views - Simpler class-based views in Django
URLs
- dj-database-url - Database URLs
- urlman - A nicer way to do URLs for Django models
Python Packages
A short list of Python packages that work well with Django.
- black - Uncompromising Python code formatter
- coveragepy - Code coverage measurement
- nplusone - Auto-detect n+1 queries
- pillow - Python Imaging Library
- pytest - Testing framework
- python-slugify - Returns unicode slugs
- sentry-python - Error reporting SDK
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
External Resources
- LearnDjango - Up-to-date tutorials on Django and Django REST Framework.
- 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.
- Django Sites - Comprehensive listing of sites built with Django.
- Pony Checkup - Security checkups for Django sites.
- Django Hunter - Tool to help identify incorrectly configured Django applications that are exposing sensitive information.
- 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.
- TestDriven - Multiple Django-specific tutorials on topics like Docker, payments, and more.
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.
- TalkPython - The leading Python podcast with several episodes on Django.
- Podcast Init - A popular Python podcast that features Django guests on occasion.
Tutorials
- Django Girls Tutorial - Use function-based views to build a blog app.
- Mozilla Tutorial - Create a lending library app.
- A Complete Beginner's Guide to Django - In-depth and excellent walkthrough of a new Django app
- Build a HackerNews clone - Very well-done tutorial for Django 2.0.
Books
Django 3.0
- 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 Crash Course
Django 2.2
Django 2.1
Django 2.0
Django 1.11
- Two Scoops of Django: Best Practices for Django 1.11
- Test-Driven Development with Python
- Django RESTful Web Services
- Beginning Django
Videos
- Python Django Crash Course 2019 by Traversy Media
- Full Stack React & Django by Traversy Media
- Just Django
- Try Django from Coding for Entrepreneurs
- Python Django Tutorial by Corey Schafer
- CS50's Web Programming with Python and JavaScript
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.
Open Source
- 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-oscar - E-commerce for Django
- saleor - E-commerce storefront
- Django-CRM - Open Source Python CRM based on Django
- django-job-portal - Job portal application using 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