diff --git a/README.md b/README.md index aa4877f..163e24d 100644 --- a/README.md +++ b/README.md @@ -5,37 +5,127 @@ # Awesome Django - > A curated list of awesome things related to Django. ## Contents +- [Third-Party Packages](#third-party-packages) + - [Admin](#admin) + - [APIs](#apis) + - [Async](#async) + - [Content Management Systems](#content-management-systems) + - [ECommerce](#ecommerce) + - [Forms](#forms) + - [Models](#models) + - [Redis](#redis) + - [Search](#search) + - [Static Assets](#static-assets) + - [Testing](#testing) + - [Users](#users) + - [Views](#views) + - [URLs](#urls) - [Resources](#resources) - [Official](#official-resources) - [External](#external-resources) - [Community](#community) - [Conferences](#conferences) - - [YouTube Channels](#conference-youtube-channels) + - [Conference YouTube Channels](#conference-youtube-channels) - [Podcasts](#podcasts) -- [Third-Party Packages](#third-party-packages) -- [Tutorials](#tutorials) - - [Beginner](#beginner-tutorials) - - [Intermediate/Advanced](#intermediate-advanced) - - [Docker](#docker) -- [Boilerplate](#boilerplate) -- [Open Source Apps](#open-source-apps) -- [Open Source Projects](#open-source-projects) + - [Tutorials](#tutorials) + - [Books](#books) + - [Courses](#courses) + - [Videos](#videos) +- [Hosting](#hosting) + - [PaaS](#paas) + - [IaaS](#iaas) +- [Projects](#projects) + - [Boilerplate](#boilerplate) + - [Open Source Projects](#open-source-projects) - [Django REST Framework](#django-rest-framework) - [Resources](#drf-resources) - [Tutorials](#drf-tutorials) - [DRF Boilerplate](#drf-boilerplate) - [Open Source Apps](#drf-open-source-apps) -- [Books](#books) -- [Hosting](#hosting) -- [Courses](#courses) -- [Videos](#videos) - - [Free Videos](#free-videos) - - [Paid Videos](#paid-videos) + +## Third-Party Packages + +_For a complete listing of all available packages, see [Django Packages](https://djangopackages.org/)_ + +- [django-environ](https://github.com/joke2k/django-environ) - Environment variables +- [django-extensions](https://github.com/django-extensions/django-extensions/) - Custom management extensions, notably `runserver_plus` and `shell_plus` +- [django-filter](https://github.com/carltongibson/django-filter) - Powerful filters based on Django QuerySets +- [django-guardian](https://github.com/django-guardian/django-guardian) - Per object permissions in Django +- [django-sql-explorer](https://github.com/groveco/django-sql-explorer) - Share data via SQL queries +- [django-tables2](https://github.com/jieter/django-tables2) - HTML tables with pagination/sorting + +### Admin +- [django-hijack](https://github.com/arteria/django-hijack) - Admins can log in and work on behalf of other users without having to know their credentials +- [django-import-export](https://github.com/django-import-export/django-import-export) - Import/export data more easily with admin integration +- [django-honeypot](https://github.com/jamesturk/django-honeypot/) - Configure a honeypot to see who's trying to hack your site +- [django-loginas](https://github.com/skorokithakis/django-loginas) - "Log in as user" for the Django admin + +### APIs +- [django-rest-framework](https://github.com/encode/django-rest-framework) - Web APIs for Django +- [django-cors-headers](https://github.com/OttoYiu/django-cors-headers) - If your back-end and front-end are on different servers, you need this +- [django-rest-auth](https://github.com/Tivix/django-rest-auth) - REST API endpoints for authentication and registration +- [djoser](https://github.com/sunscrapers/djoser) - REST implementation of Django auth +- [django-rest-framework-simplejwt](https://github.com/davesque/django-rest-framework-simplejwt) - JSON web tokens for DRF + +### Async +- [channels](https://github.com/django/channels/) - Async support for Django +- [starlette](https://github.com/encode/starlette) - ASGI framework + +### Content Management Systems +- [wagtail](https://github.com/wagtail/wagtail) - Popular Django content management system (CMS) +- [mezzanine](https://github.com/stephenmcd/mezzanine) - CMS framework +- [django-cms](https://github.com/divio/django-cms) - CMS for Django + +### ECommerce +- [django-shop](https://github.com/awesto/django-shop) - Django-based shop system + +### Forms +- [django-crispy-forms](https://github.com/django-crispy-forms/django-crispy-forms/) - DRY Django forms +- [django-autocomplete-light](https://github.com/yourlabs/django-autocomplete-light) - Add autocompletion to forms +- [django-shapeshifter](https://github.com/kennethlove/django-shapeshifter) - A CBV to handle multiple forms in one view + +### Models +- [django-model-utils](https://github.com/jazzband/django-model-utils) - Django model mixins and utilities +- [django-taggit](https://github.com/jazzband/django-taggit/) - Simple model tags +- [django-reversion](https://github.com/etianen/django-reversion) - Version control for model instances + +### Redis +- [django-rq](https://github.com/rq/django-rq) - Integration for Redis Queue +- [django-redis](https://github.com/niwinz/django-redis) - Full featured redis cache backend for Django + +### Search +- [django-haystack](https://github.com/django-haystack/django-haystack) - Modular search for Django +- [django-watson](https://github.com/etianen/django-watson) - Full-text search plugin + +### Static Assets +- [django-storages](https://github.com/jschneier/django-storages) - A single library to support multiple custom storage backends for Django +- [django-compressor](https://github.com/django-compressor/django-compressor/) - Compress JavaScript/CSS into a single cached file +- [whitenoise](https://github.com/evansd/whitenoise) - Simplified static file serving for Python websites +- [easy-thumbnails](https://github.com/SmileyChris/easy-thumbnails) - Image thumbnails for Django + +### Testing +- [django-debug-toolbar](https://github.com/jazzband/django-debug-toolbar/) - Configurable panels to debug requests/responses +- [pytest-django](https://github.com/pytest-dev/pytest-django) - Use pytest features in Django +- [django-test-plus](https://github.com/revsys/django-test-plus/) - Useful additions to Django's default TestCase +- [factory-boy](https://github.com/FactoryBoy/factory_boy) - Test fixtures replacement +- [django-silk](https://github.com/jazzband/django-silk) - Live profiling and inspection of HTTP requests and database queries +- [django-waffle](https://github.com/django-waffle/django-waffle) - A feature flipper for Django + +### sunscrapers +- [django-allauth](https://github.com/pennersr/django-allauth/) - Improved user registration including social auth +- [django-organizations](https://github.com/bennylope/django-organizations/) - Multi-user accounts for Django projects + +### Views +- [django-extra-views](https://github.com/AndrewIngram/django-extra-views) - Extra class-based generic views +- [django-vanilla-views](https://github.com/tomchristie/django-vanilla-views) - Simpler class-based views in Django + +### URLs +- [dj-database-url](https://github.com/kennethreitz/dj-database-url) - Database URLs +- [urlman](https://github.com/andrewgodwin/urlman) - A nicer way to do URLs for Django models ## Resources @@ -94,64 +184,7 @@ - [TalkPython](https://talkpython.fm/) - The leading Python podcast with several episodes on Django. - [Podcast Init](https://www.podcastinit.com/) - A popular Python podcast that features Django guests on occasion. -## Third-Party Packages - -_For a complete listing of all available packages, see [Django Packages](https://djangopackages.org/)_ - -- [channels](https://github.com/django/channels/) - Async support for Django -- [django-allauth](https://github.com/pennersr/django-allauth/) - Improved user registration including social auth -- [django-autocomplete-light](https://github.com/yourlabs/django-autocomplete-light) - Add autocompletion to forms -- [django-compressor](https://github.com/django-compressor/django-compressor/) - Compress JavaScript/CSS into a single cached file -- [django-crispy-forms](https://github.com/django-crispy-forms/django-crispy-forms/) - DRY Django forms -- [dj-database-url](https://github.com/kennethreitz/dj-database-url) - Database URLs -- [django-debug-toolbar](https://github.com/jazzband/django-debug-toolbar/) - Configurable panels to debug requests/responses -- [django-environ](https://github.com/joke2k/django-environ) - Environment variables -- [django-extensions](https://github.com/django-extensions/django-extensions/) - Custom management extensions, notably `runserver_plus` and `shell_plus` -- [django-extra-views](https://github.com/AndrewIngram/django-extra-views) - Extra class-based generic views -- [django-filter](https://github.com/carltongibson/django-filter) - Powerful filters based on Django QuerySets -- [django-guardian](https://github.com/django-guardian/django-guardian) - Per object permissions in Django -- [django-hijack](https://github.com/arteria/django-hijack) - Admins can log in and work on behalf of other users without having to know their credentials -- [django-import-export](https://github.com/django-import-export/django-import-export) - Import/export data more easily with admin integration -- [django-loginas](https://github.com/skorokithakis/django-loginas) - "Log in as user" for the Django admin -- [django-model-utils](https://github.com/jazzband/django-model-utils) - Django model mixins and utilities -- [django-organizations](https://github.com/bennylope/django-organizations/) - Multi-user accounts for Django projects -- [django-redis](https://github.com/niwinz/django-redis) - Full featured redis cache backend for Django -- [django-reversion](https://github.com/etianen/django-reversion) - Version control for model instances -- [django-rq](https://github.com/rq/django-rq) - Integration for Redis Queue -- [django-shapeshifter](https://github.com/kennethlove/django-shapeshifter) - A CBV to handle multiple forms in one view -- [django-silk](https://github.com/jazzband/django-silk) - Live profiling and inspection of HTTP requests and database queries -- [django-sql-explorer](https://github.com/groveco/django-sql-explorer) - Share data via SQL queries -- [django-storages](https://github.com/jschneier/django-storages) - A single library to support multiple custom storage backends for Django -- [django-tables2](https://github.com/jieter/django-tables2) - HTML tables with pagination/sorting -- [django-taggit](https://github.com/jazzband/django-taggit/) - Simple model tags -- [django-test-plus](https://github.com/revsys/django-test-plus/) - Useful additions to Django's default TestCase -- [easy-thumbnails](https://github.com/SmileyChris/easy-thumbnails) - Image thumbnails for Django -- [django-vanilla-views](https://github.com/tomchristie/django-vanilla-views) - Simpler class-based views in Django -- [django-waffle](https://github.com/django-waffle/django-waffle) - A feature flipper for Django -- [django-watson](https://github.com/etianen/django-watson) - Full-text search plugin -- [factory-boy](https://github.com/FactoryBoy/factory_boy) - Test fixtures replacement -- [pytest-django](https://github.com/pytest-dev/pytest-django) - Use pytest features in Django -- [urlman](https://github.com/andrewgodwin/urlman) - A nicer way to do URLs for Django models -- [whitenoise](https://github.com/evansd/whitenoise) - Simplified static file serving for Python websites - -*Content Management Systems (CMSs)* -- [wagtail](https://github.com/wagtail/wagtail) - Popular Django content management system (CMS) -- [mezzanine](https://github.com/stephenmcd/mezzanine) - CMS framework -- [django-cms](https://github.com/divio/django-cms) - CMS for Django - - -*Django REST Framework* - -- [django-cors-headers](https://github.com/OttoYiu/django-cors-headers) - If your back-end and front-end are on different servers, you need this -- [django-rest-auth](https://github.com/Tivix/django-rest-auth) - REST API endpoints for authentication and registration -- [djoser](https://github.com/sunscrapers/djoser) - REST implementation of Django auth -- [django-rest-framework](https://github.com/encode/django-rest-framework) - Web APIs for Django -- [django-rest-framework-simplejwt](https://github.com/davesque/django-rest-framework-simplejwt) - JSON web tokens for DRF -- [django-rest-swagger](https://github.com/marcgibbons/django-rest-swagger) - API document generator for Swagger UI - -## Tutorials - -### Beginner Tutorials +### Tutorials - [Django Girls Tutorial](https://tutorial.djangogirls.org/en/) - Use function-based views to build a blog app. - [Django for Beginners](https://djangoforbeginners.com/) - Use class-based views to build three apps of increasing complexity (part of a full-length book). @@ -159,27 +192,80 @@ _For a complete listing of all available packages, see [Django Packages](https:/ - [A Complete Beginner's Guide to Django](https://simpleisbetterthancomplex.com/series/beginners-guide/1.11/) - In-depth and excellent walkthrough of a new Django app - [Build a HackerNews clone](https://medium.com/@danieldng/a-little-hacker-news-in-django-part-1-f12aa81dc25d) - Very well-done tutorial for Django 2.0. -## Boilerplate +### Books +_Django 2.2_ +- [Django for Beginners: Build websites with Python and Django](https://djangoforbeginners.com/) +- [Django for APIs: Build web APIs with Python and Django](https://djangoforapis.com/) +- [Django for Professionals: Production websites with Python and Django](https://djangoforprofessionals.com) + + +_Django 2.1_ +- [Build Your First Website with Django 2.1](https://transactions.sendowl.com/stores/9897/130290) +- [Practical Django 2 and Channels 2](https://www.amazon.com/dp/1484240987/?tag=wsvincent-20) +- [Django 2 Web Development Cookbook](https://www.amazon.com/dp/1788837681/?tag=wsvincent-20) + +_Django 2.0_ + +- [Hello Web App 2.0](https://hellowebbooks.com/learn-django/) +- [Django Design Patterns and Best Practices](https://www.amazon.com/dp/1788831349/?tag=wsvincent-20) +- [Django 2 by Example](https://www.amazon.com/dp/1788472489/?tag=wsvincent-20) + +_Django 1.11_ + +- [Two Scoops of Django: Best Practices for Django 1.11](https://www.amazon.com/dp/0692915729/?tag=wsvincent-20) +- [Test-Driven Development with Python](https://www.amazon.com/dp/1491958707/?tag=wsvincent-20) +- [Django RESTful Web Services](https://www.amazon.com/dp/1788833929/?tag=wsvincent-20) +- [Beginning Django](https://www.amazon.com/dp/1484227867/?tag=wsvincent-20) + +### Courses + +- [Developing a Real-Time Taxi App with Django Channels and Angular](https://testdriven.io/courses/real-time-app-with-django-channels-and-angular/?utm_source=will) + +### Videos +- [Python Django Crash Course 2019 by Traversy Media](https://youtu.be/e1IyzVyrLSU) +- [Full Stack React & Django by Traversy Media](https://youtu.be/Uyei2iDA4Hs) +- [Just Django](https://www.youtube.com/channel/UCRM1gWNTDx0SHIqUJygD-kQ) +- [Python Django Tutorial by Corey Schafer](https://youtu.be/UmljXZIypDc) +- [CS50's Web Programming with Python and JavaScript](https://www.youtube.com/playlist?list=PLhQjrBD2T382hIW-IsOVuXP1uMzEvmcE5) + +## Hosting + +### PaaS (Platforms-as-a-Service) +- [Heroku](https://www.heroku.com/) +- [PythonAnywhere](https://www.pythonanywhere.com/details/django_hosting) +- [Divio](https://www.divio.com) +- [Microsoft Azure](https://azure.microsoft.com/en-us/develop/python/) +- [AWS CodeStar](https://aws.amazon.com/codestar/) +- [Google Cloud](https://cloud.google.com/python/django/) +- [Zeit Now](https://zeit.co/now) +- [Dokku](http://dokku.viewdocs.io/dokku/) +- [Render](https://render.com/) + +### IaaS (Infrastructure-as-a-Service) +- [Digital Ocean](https://m.do.co/c/c0a588a8bb9e) +- [Linode](https://www.linode.com/?r=70d00cc48f300a318474ba61cb7e7663b6e1531b) +- [Amazon Lightsail](https://aws.amazon.com/lightsail/) + +## Projects + +### Boilerplate - [cookiecutter-django](https://github.com/pydanny/cookiecutter-django) - A full-bodied starter project, highly customizable. - [djangox](https://github.com/wsvincent/djangox) - A simpler approach with complete user authentication flow, Pipenv, and more. +- [DRFx](https://github.com/wsvincent/drfx) - A DRF starter with user auth, Pipenv, and other goodies. - [django-starter-project](https://github.com/jpadilla/django-project-template) - A deliberately basic project that has multiple staging environments and Heroku deployment config. - [docker-django](https://github.com/erroneousboat/docker-django) - A quick starter guide for Django and Docker together. - [ponee](https://github.com/valentinogagliardi/ponee) - A lightweight Django template ready for Heroku. - [wemake-django-template](https://github.com/wemake-services/wemake-django-template) - Bleeding edge django template focused on code quality and security. -## Open Source Apps - -- [Hello, World app](https://github.com/wsvincent/djangoforbeginners/tree/master/ch2-hello-world-app) -- [Message Board app](https://github.com/wsvincent/djangoforbeginners/tree/master/ch4-message-board-app) +### Open Source +- [Hello, World](https://github.com/wsvincent/djangoforbeginners/tree/master/ch2-hello-world-app) +- [Message Board](https://github.com/wsvincent/djangoforbeginners/tree/master/ch4-message-board-app) - [Blog app with users and forms](https://github.com/wsvincent/djangoforbeginners/tree/master/ch7-blog-app-with-users) - [Newspaper app with custom user model, full user auth](https://github.com/wsvincent/djangoforbeginners/tree/master/ch15-comments) - [Behavior-Driven Development with Aloe](https://github.com/testdrivenio/django-aloe-bdd) - [Image Sharing Blog](https://github.com/MeNsaaH/soMedia) - [Bootcamp: An enterprise social network](https://github.com/vitorfs/bootcamp) - -## Open Source Projects - - [Zulip](https://github.com/zulip/zulip) - Open-source team chat - [django-oscar](https://github.com/django-oscar/django-oscar) - E-commerce for Django - [saleor](https://github.com/mirumee/saleor) - E-commerce storefront @@ -207,92 +293,6 @@ _The most popular way to build web APIs with Django._ - [DRF with React](https://www.valentinog.com/blog/tutorial-api-django-rest-react/) - [Making React and Django play well together](https://fractalideas.com/blog/making-react-and-django-play-well-together/) -### DRF Boilerplate - -- [DRFx](https://github.com/wsvincent/drfx) - -### DRF Open Source Apps - -- [DRF Polls](https://github.com/wsvincent/drf-polls) - API of the official Django polls tutorial -- [DRF Blog](https://github.com/wsvincent/drf-blog-api) - Basic Blog API -- [ECGC](https://github.com/flowerncsu/ecgc-2017) - Example from DjangoCon 2017 talk [Write an API for Almost Anything](https://www.youtube.com/watch?v=-6tR5TffP0w) - -## Hosting - -### PaaS (Platforms-as-a-Service) - -- [Heroku](https://www.heroku.com/) -- [PythonAnywhere](https://www.pythonanywhere.com/details/django_hosting) -- [Divio](https://www.divio.com) -- [Microsoft Azure](https://azure.microsoft.com/en-us/develop/python/) -- [AWS CodeStar](https://aws.amazon.com/codestar/) -- [Google Cloud](https://cloud.google.com/python/django/) -- [Zeit Now](https://zeit.co/now) -- [Dokku](http://dokku.viewdocs.io/dokku/) -- [Render](https://render.com/) - -### IaaS (Infrastructure-as-a-Service) - -- [Digital Ocean](https://m.do.co/c/c0a588a8bb9e) -- [Linode](https://www.linode.com/?r=70d00cc48f300a318474ba61cb7e7663b6e1531b) -- [Amazon Lightsail](https://aws.amazon.com/lightsail/) - -## Books - -_Django 2.2_ -- [Django for Beginners: Build websites with Python and Django](https://djangoforbeginners.com/) -- [Django for APIs: Build web APIs with Python and Django](https://djangoforapis.com/) -- [Django for Professionals: Production websites with Python and Django](https://djangoforprofessionals.com) - - -_Django 2.1_ -- [Build Your First Website with Django 2.1](https://transactions.sendowl.com/stores/9897/130290) -- [Practical Django 2 and Channels 2](https://www.amazon.com/dp/1484240987/?tag=wsvincent-20) -- [Django 2 Web Development Cookbook](https://www.amazon.com/dp/1788837681/?tag=wsvincent-20) - -_Django 2.0_ - -- [Hello Web App 2.0](https://hellowebbooks.com/learn-django/) -- [Django Design Patterns and Best Practices](https://www.amazon.com/dp/1788831349/?tag=wsvincent-20) -- [Django 2 by Example](https://www.amazon.com/dp/1788472489/?tag=wsvincent-20) - -_Django 1.11_ - -- [Two Scoops of Django: Best Practices for Django 1.11](https://www.amazon.com/dp/0692915729/?tag=wsvincent-20) -- [Test-Driven Development with Python](https://www.amazon.com/dp/1491958707/?tag=wsvincent-20) -- [Django RESTful Web Services](https://www.amazon.com/dp/1788833929/?tag=wsvincent-20) -- [Beginning Django](https://www.amazon.com/dp/1484227867/?tag=wsvincent-20) - -## Courses - -- [Develop a Real-Time Taxi App with Django Channels and Angular](https://testdriven.io/affiliates/e4245ba649f3/) - -## Videos - -### Free Videos - -_Django 2.1_ - -- [Django Authentication Tutorial by Vitor Freitas](https://youtu.be/60GTvKCuam8?list=PLLxk3TkuAYnryu1lEcFaBr358IynT7l7H) -- [Build a Startup with Django by CSDojo](https://youtu.be/UyQn0BhVqNU) -- [Just Django](https://www.youtube.com/channel/UCRM1gWNTDx0SHIqUJygD-kQ) - -_Django 2.0_ - -- [Build a Guestbook (30-part series) by Pretty Printed](https://www.youtube.com/watch?v=QVX-etwgvJ8&list=PLXmMXHVSvS-DQfOsQdXkzEZyD0Vei7PKf) -- [Blog Tutorial by Corey Schafer](https://youtu.be/UmljXZIypDc?list=PL-osiE80TeTtoQCKZ03TU5fNfx2UY6U4p) -- [CS50's Web Programming with Python and JavaScript](https://www.youtube.com/playlist?list=PLhQjrBD2T382hIW-IsOVuXP1uMzEvmcE5) - -_Django 1.11_ - -- [Todo App by Traversy Media](https://youtu.be/2yXfUPwlZTw) -- [Django Crash Course by Traversy Media](https://youtu.be/D6esTdOLXh4) - -### Paid Videos - -- [Build Backend Web Apps and APIs with Django](https://www.oreilly.com/library/view/web-development-in/9780134659824/) - 9 hour course from Andrew Pinkham, author of [Django Unleashed](https://www.amazon.com/dp/0321985079/?tag=wsvincent-20), covering APIs, data manipulation, and deployment to Heroku. -- [Build a Real Estate App](https://click.linksynergy.com/link?id=1*FmkJFU6n4&offerid=507388.1952540&type=2&murl=https%3A%2F%2Fwww.udemy.com%2Fpython-django-dev-to-deployment%2F) - 11 hour course by Brad Traversy on building a real estate app with PostgreSQL and deploying to Digital Ocean. -- [Ultimate Web Development Bootcamp](https://click.linksynergy.com/link?id=1*FmkJFU6n4&offerid=507388.1562632&type=2&murl=https%3A%2F%2Fwww.udemy.com%2Fthe-ultimate-beginners-guide-to-django-django-2-python-web-dev-website%2F) - 10 hour course building three apps--word counter, personal portfolio, product hunt clone--and deploying to Digital Ocean. ### License