Embark on your journey to master Django with our specially crafted Django course for beginners.
Learn Django and build a solid foundation in web development.
Unlock your skills with the best Django course.
Course Guide
This course is for
Complete beginners in Django
Developers who want to build a solid foundation in Django web application coding
Anyone who wants to build a web application quickly using Django
Course Design
Course Design 1
Complete Web App Development Journey
You’ll experience a complete Django web app development and publishing journey with our detailed step-by-step guide.
By the end of this course, you’ll have built your own Django web application.
You will style your application using Bootstrap with responsive design.
Course Design 2
Designed for Complete Beginners
This course is designed for a complete beginner. By simply copying and pasting the code snippets into your text file, you can build your Django web app very easily.
Course Design 3
Theory and Practice
You can learn theory comprehensively and internalize it through practice.
We'll provide all code snippets step by step along with detailed explanations of Django framework.
Course Design 4
Hands-on App Deployment Guidance
This course also covers detailed guidance for app deployment using AWS platform.
At the end of this course, your app will be online and accessible from anywhere.
Learning Approach
Learning Approach 1
Build Knowledge Map First
We recommend you first go through the course from the beginning to the end even with 50-80% understanding. The important thing is creating a well-structured knowledge map in your brain first.
Learning Approach 2
Continuously Review
And, regularly review the challenging topics using history, bookmark, tag and search features.
Course Outline
Chapter 1. Django Key Concepts
In this chapter, you'll learn key concepts used in Django.
If you are a beginner in programming, you may have difficulties understanding some concepts or terms. However, it is essential for you to start familiarizing yourself with them.
You can first skim through this section and revisit this chapter later after reading other chapters, which contain concrete examples.
CRUD is a concept that commonly used in web application development. It is the acronym for Create, Read, Update, and Delete.
In web applications, the CRUD concept is executed through web pages. For example:
Content editors go to the content posting page (Create Page) to post their content.
The posted content can be read by users on a list-style page with a list of many content items (List Page) or a particular content page (Detail Page).
When content editors want to edit or delete the existing content, they can edit or delete it on the Update Page or Delete Page.
In this chapter, you’ll learn how to develop a basic CRUD web application using the Django framework, including:
How to design Views with Class-based View approach using Django Generic Views
How to manage URLs using the URL dispatcher
How to customize and modularize Django Templates with Django Template Language (DTL)
How to manage variable using “context”.
You’ll also learn how to use Bootstrap to add styles to Django templates. By the end of this chapter, you’ll have built a basic CRUD-based Django web application.
User management, including user authentication is one of the most critical parts of web application design.
Django or its libraries provide rich user authentication features that help you save your coding time.
In this chapter, you’ll get an overview of user management in web application development and learn how to implement key user management features using Django Allauth, which is one the most popular Django libraries for user authentication.
By the end of this chapter, you’ll have built sign-in, login and logout features with the following approaches:
email verification via console for development test
email verification using Gmail
social login with Google
social login with GitHub
Django provides a built-in user model with predefined fields and methods. In this chapter, you’ll also learn how to build a custom user model using two approaches:
Extending the user model – adding more fields (e.g., a user icon, mobile number, etc.) using one-to-one relationship.
Substituting the user model – creating a custom model using AbstractUser model.
In this last chapter, you’ll deploy the Django web app that you’ll have built in the previous chapters and make the app accessible on the internet.
You’ll learn how to use necessary software and cloud services, such as AWS Lightsail, GitHub, PostgreSQL, Nginx, GCP (Google Cloud Platform), and SendGrid through the deployment process, which consists of eight key steps: