Learn how to build web APIs with Python and Django.
Take a modern API-first approach to creating 3 different Django back-ends: a Library API, Todo API, and a Blog API with user authentication, permissions, proper documentation, and more. You'll even learn how to connect them to a React front-end for a truly full-stack web application.
What’s New for 4.0
*Django 4.0 and Django REST Framework 3.13 throughout.
*Updated to Python 3.10.
*Added full chapter on proper set up with Python, Django, Black, Git, and more.
*Switched to Pip from Pipenv, which is a major change but feels warranted given Pipenv has slowed in development and Pip is the default for many people. I don’t get into fancier configuration options because “it all depends” once you do and using Pip is fine for a single developer starting out.
*Windows-first support. I bought a Microsoft Surface laptop and have been dutifully using it several days a week. I still greatly prefer macOS but most of the world uses Windows so I have run through all the code and updated the text to ensure Windows works well.
*Updated all the third-party packages to the latest versions, which means django-cors-headers, django-rest-auth, django-allauth, gunicorn, psycopg, whitenoise, and environs.
*Added environment variables for proper security and deployment
*Much more material on testing both Django and Django REST Framework in all projects
*Deployment configured in depth for all 3 projects built in the book
*Fixed a previous bug in Chapter 7 around permissions so it is properly locked down now. Also covers custom permissions in far more depth.
*Switched the default project name from config to django_project to avoid any confusion among readers.
*Switched to drf-spectacular for documentation in align with recent Django REST Framework trends
*Switch from pip install to python -m pip install because Adam Johnson said to.
*All new screenshots since Chrome updates even more often than Django.
*Switch to main from master for Git branch.