Django Course for Beginners - Learn Django Basics

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.
Chapter 2. Django Quick Start Guide
  • In this chapter, you’ll learn how to start Django app development.
  • Before starting a Django project, you need to first make some preparations:
    • Install Python 3
    • Install text editor for coding (e.g., VS Code) if you don’t have one installed
    • Prepare a project directory
    • Set up virtual environment
    • Install Django
  • Once you have installed Django in the virtual environment, you can start a Django project and create a basic Django app with key commands, including:
    • django-admin startproject
    • python manage.py runserver
    • python manage.py migrate
    • python manage.py createsuperuser
    • python manage.py startapp test_app
  • In this chapter, you’ll also start to handle key Django project files:
    • URL dispatcher – urls.py
    • Django Templates
    • Views – views.py
Chapter 3. Django Models and Databases
  • A database that Django officially supports is a relational database, which is the most commonly used database type.
  • In this chapter, you’ll learn how to create a database for Django applications along with database basics, including:
    • How to design Django database – Create Django Models
    • How to migrate the databased design into an actual database – makemigrations and migrate
    • How to manage a database through the Django admin site
    • How to customize Django Models with data field types and field options
  • You’ll learn how to connect database tables using three relationship fields:
    • ForeignKey – One-To-Many relationship
    • OneToOneField – One-To-One relationship
    • ManyToManyField – Many-To-Many relationship
Chapter 4. Create CRUD Web Application
  • 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.
Chapter 5. User Management
  • 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.
Chapter 6. Deploy Django App
  • 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:
    1. Hosting Service Initial Settings
    2. Production Database Setup
    3. Django App Production Configuration
    4. Django and Dependency Installation
    5. Application and Web Server Setup
    6. Domain setup
    7. SSL Setup and Port Setting
    8. Email and Social Login Setting
footer logo© 2023 D-Libro. All Rights Reserved