This book is a course on Django for Python developers. The better you know Python, the easier it will be to learn Django. Conversely, one of the great things about learning Django is that it will help you improve your Python skills. Through more than 80 exercises and 100s of demos, you will learn to build a fully functional website using Python, Django 3.1, PostgreSQL, Visual Studio Code, GitHub, Amazon S3 (for media storage), SendGrid, and Heroku. What you will learn:To build simple web pages using Django templates.To build a complete registration and authentication system.To make certain features of the site only available to logged-in users.To build forms that allow users to upload files. You will also learn to validate those files to make sure they are not dangerous. And you will learn to keep private files, like resumes, private.To create sortable and searchable lists and tables of data, and to add pagination to long lists of data.To allow users to add and edit data through web forms.To use Ajax to make server requests without a full page refresh.To use and customize Django admin, Django’s built-in administration interface.To generate emails with Django.To use Git and GitHub for source control.To publish your website on Heroku, a popular hosting service.To store media files, uploaded by users, using Amazon’s S3 service.Other technologies used, but not taught, in the book include HTML, CSS, Bootstrap, JavaScript, and SQL. Experience with those technologies will serve you well, both in becoming a Django programmer, and in working through this book.