← All courses

Training

Web Development with Django, RESTful Framework, and FastAPI

Web Development with Django, RESTful Framework, and FastAPI

This 4-day course offers a comprehensive overview of web development using Django, RESTful Framework, and FastAPI. Participants will learn how to create web applications using Django and FastAPI, build APIs with the Django RESTful Framework, and integrate with MySQL and MSSQL databases. The course also covers installation and deployment on an Ubuntu server. By the end of the course, learners will have hands-on experience in building and deploying full-stack web applications using Python-based frameworks.

Learning Outcome

Upon completion of this course, participants will be able to:

  • Understand the fundamentals of web development using Python-based frameworks such as Django and FastAPI
  • Set up a development environment for Django and FastAPI projects
  • Create web applications using Django, including models, views, templates, and forms
  • Implement user authentication and authorization in Django applications
  • Build RESTful APIs using the Django RESTful Framework, including serializers, views, and routers
  • Set up a development environment for FastAPI projects and create web applications using FastAPI
  • Implement user authentication and authorization in FastAPI applications
  • Create RESTful API endpoints with FastAPI
  • Integrate Django and FastAPI applications with MySQL and MSSQL databases, and perform CRUD operations using Django ORM and FastAPI
  • Deploy Django and FastAPI applications on an Ubuntu Server, and configure web servers (Apache or Nginx) for these applications
  • Apply the concepts learned to create a full-stack web application that integrates Django, RESTful Framework, FastAPI, and MySQL or MSSQL databases, and deploy it on an Ubuntu Server
  • Identify resources for further learning and exploration of advanced topics in Django, RESTful Framework, and FastAPI

Prerequisites:

  • A strong foundation in Python programming, preferably with the completion of an introductory Python course
  • Familiarity with HTML, CSS, and basic web development concepts
  • Basic understanding of databases and SQL

Metrics

Duration: 4 days

Timing: 9am to 5pm (with an hour’s lunch break)

Assessments: in-class assessment

Type: Hands-on

Lab: Online lab

Software requirement:

  • Web Browser
  • Operating system with Administrative / Sudo / root access
  • Terminal / console system
  • VS Code
  • Remote Linux Lab
  • Anaconda Installation

Course Outline:

Day 1:
  • Introduction to Web Development with Python
    • Overview of web development concepts
    • Python-based web frameworks
    • Django, RESTful Framework, and FastAPI
  • Django Overview and Setup
    • Introduction to Django
    • Installing Django and setting up a development environment
    • Creating a Django project and apps
  • Django Models and Views
    • Understanding models, views, and templates
    • Creating and configuring Django models
    • Querying the database with Django ORM
    • Creating Django views and templates
Day 2:
  • Django Forms and User Authentication
    • Working with Django forms
    • Validating and processing form data
    • Implementing user authentication and authorization
  • Django RESTful Framework
    • Introduction to RESTful APIs
    • Installing and configuring the Django RESTful Framework
    • Creating serializers, views, and routers for APIs
    • Implementing CRUD operations for API endpoints
Day 3:
  • FastAPI Overview and Setup
    • Introduction to FastAPI
    • Installing FastAPI and setting up a development environment
    • Creating a FastAPI project
  • Building Web Applications with FastAPI
    • Creating FastAPI routes, models, and templates
    • Implementing user authentication and authorization in FastAPI
    • Creating RESTful API endpoints with FastAPI
  • Database Integration with MySQL and MSSQL
    • Overview of MySQL and MSSQL databases
    • Connecting Django and FastAPI applications to MySQL and MSSQL databases
    • Performing CRUD operations with Django ORM and FastAPI on MySQL and MSSQL databases
Day 4:
  • Deployment on an Ubuntu Server
    • Introduction to Ubuntu Server
    • Preparing the Ubuntu Server for deployment
    • Deploying Django and FastAPI applications on an Ubuntu Server
    • Configuring web servers (Apache or Nginx) for Django and FastAPI applications
  • Mini-Project
  • Applying the concepts learned to create a full-stack web application
  • Integrating Django, RESTful Framework, and FastAPI with MySQL or MSSQL
  • Deploying the application on an Ubuntu Server
  • Next Steps and Resources
  • Advanced topics in Django, RESTful Framework, and FastAPI
  • Exploring other Python-based web frameworks and libraries
  • Online resources and further learning opportunities

Practical, connected learning

My wider training approach brings hands-on implementation and systems thinking together, connecting technology with real operational needs.