Create scalable web applications using Python-based Flask and Django frameworks.
Learning Mode: Learn at ALC or at Home
Detailed Course Curriculum
Hands-on module breakdown aligned with MKCL production standards and industry requirements.
What is Flask?
History of Flask
Why use Flask?
Flask vs Django
Setting up a development environment
Installing Flask and Hello World
Introduction to HTML and CSS
HTML syntax and Structure
Working With Classes and IDs
CSS basics and syntax
Creating a basic HTML document
Styling Webpage with CSS
Basic Flask Concepts
Server Startup and A complete Application
Templates - Part 1
Templates - Part 2
Templates - Part 2
Flask - Bootstrap
Static Files
Flask HTTP methods
Request Response Cycle - Part 1
Request Response Cycle - Part 2
Request Response Cycle - Part 2
Error Handling and debugging - Part 1
Error Handling and debugging - Part 2
Error Handling and debugging - Part 2
Python Database Framework
SQLAlchemy ORM - Part 1
SQLAlchemy ORM - Part 2
SQLAlchemy ORM - Part 2
CRUD Operations
Creating tables in Flask
Creating tables in Flask
Inserting into table
Inserting into table
Querying Data
Querying Data
Updating Data
Updating Data
Deleting Data
Deleting Data
Database Migration
Web Forms
Email Support
Flask Blueprint
Template handling
Template handling
Static File handling
Static File handling
Error handling
Error handling
Flask Blueprint Decorator
Flask Blueprint Decorator
Abort function
Abort function
Flask Application Structure
Configuration Options
Configuration Options
Application package
Application package
Application factory
Application factory
Implementing Application functionality in Blueprint
Implementing Application functionality in Blueprint
Introduction to API
Web API
Web API
REST Framework
REST Framework
Postman Tool
Working with API Part 1
Working with API Part 2
Working with API Part 2
Working with API Part 3
Working with API Part 3
Designing RESTful APIs - Part 1
Designing RESTful APIs - Part 2
Designing RESTful APIs - Part 2
Common Flask Extensions
Deployment Workflow
What is Django
Django history
Features of Django
Disadvantages of Django
Applications of Django
Django MVC-MVT architecture
Why Use Django?
Webserver
Virtual Environment
Django Installation
Project in Django?
manage.py
manage.py
init.py
init.py
settings.py
settings.py
urls.py
urls.py
wsgi.py
wsgi.py
asgi.py
asgi.py
App in Django?
admin.py
admin.py
apps.py
apps.py
models.py
models.py
tests.py
tests.py
views.py
views.py
Difference between project and app
Creating a project and an app
Registering an app
Runserver
Creating a View
Mapping the view to URLs
Creating models
Registering a model
Make migrations
Migrate
Creating a superuser
settings.py
Middleware
Django database connection
Small Project on Django
Templates
Django Template Language (DTL)
Creating a template directory
Rendering a template
Template Variables
Template Tag
Template Filters
If-else and For loop
Static Files
Models in Django
Django model Data Types and Fields list
ORM’s in Django
Query Sets in Django
Model instances
Django forms
Django Model Forms
Form widgets
CSRF Token
Django formsets and Modelformsets
Django Views and its types
Function Based View
CRUD Operations Using FBV
CRUD Operations Using FBV
Insert Operation
Insert Operation
Update Operation
Update Operation
Delete Operation
Delete Operation
Class-based views (CBVs) - Part I
Class-based views (CBVs) - Part II
Class-based views (CBVs) - Part II
CRUD Operations Using CBV - Part I
CRUD Operations Using CBV - Part II
CRUD Operations Using CBV - Part II
CRUD Operations Using CBV - Part III
CRUD Operations Using CBV - Part III
Mixins in Django
URLs import reverse
Session and Cookies in Django
Enabling and configurating session
Session serialization
Working of cookies in Django
Use of cookies
Managing Cookies in Django: Setting, Modifying, Updating, and Deleting
Enabling and Disabling Cookies in Django
Django Serialization and Deserialization
Model serialization
Model inheritance styles
Authentication
Default authentication implementations
Working with the user object
Authentication with web request
Authorization
Permission caching and default Permission
Authentication vs Authorizations
Django Middleware
Inbuilt middlewares
Middleware structure
Configuration of multiple middleware classes - Example 1
Configuration of multiple middleware classes - Example 2
Maintenance Mode Application
Middleware application to show meaningful response
Advantages and Disadvantages of Middlewares
Mail system in Django
Other Email Functions
CSV Using Models
PDF Using Models
Introduction to Django Rest Framework
Django Rest framework History and Versions
Advantages and Disadvantages of Django Rest Framework
Applications of Django Rest Framework
Web API VS Web Browser
Webservices and its types
SOAP Based Web Services
SOAP Based Web Services
REST (Representational State Transfer) web services
REST (Representational State Transfer) web services
Difference between SOAP and RESTful webservices
Difference between SOAP and RESTful webservices
Django Rest Framework Installation
Serializers in DRF
Model Serializers in DRF
Advantages and disadvantages of serializers in DRF
Serializer mixins
Serializer Fields
Serializer Relations
Deserializers in DRF
JSON in DRF
Serializers and Deserializers in CRUD Operations
Advantages and disadvantages of deserializer
Validation of serializer
Difference serializer and deserializer in DRF
Views and its type in DRF
APIView
Creating a Simple API
Creating a Simple API
GenericAPIView
Creating a GenericAPIView
Creating a GenericAPIView
ViewSets
ViewSet actions
Custom ViewSet base classes
Defining Router for TestViewSet
Difference between APIView and ViewSet
Authentication and Setting Authentication Schemes in DRF
Token based authentication in DRF
BasicAuthentication
SessionAuthentication
Custom authentication
Difference between TokenBased, Basic, Session and Custom Authentication
Unauthorized and Forbidden responses
OAuth
Authorization and permissions
Pagination in Django Rest Framework
Use of pagination
Implementing pagination in an API view
HTML pagination controls
Filters in DRF
Eligibility Criteria
• Basic knowledge of computers and keen desire to build skills in this field.
• Open to students, job seekers, and working professionals.
Official Certification
• Official MKCL KLiC Certificate upon successful completion of the course and evaluations.
Work-Centric Learning Approach
• Step 1: Learners are given an overview of the course and its connection to life and work
• Step 2: Learners are exposed to the specific tool(s) used in the course through the various real-life applications of the tool(s).
• Step 3: Learners are acquainted with the careers and the hierarchy of roles they can perform at workplaces after attaining increasing levels of mastery over the tool(s).
• Step 4: Learners are acquainted with the architecture of the tool or tool map so as to appreciate various parts of the tool, their functions, utility and inter-relations.
• Step 5: Learners are exposed to simple application development methodology by using the tool at the beginner’s level.
• Step 6: Learners perform the differential skills related to the use of the tool to improve the given ready-made industry-standard outputs.
• Step 7: Learners are engaged in appreciation of real-life case studies developed by the experts.
• Step 8: Learners are encouraged to proceed from appreciation to imitation of the experts.
• Step 9: After the imitation experience, they are required to improve the expert’s outputs so that they proceed from mere imitation to emulation.
• Step 10: Emulation is taken a level further from working with differential skills towards the visualization and creation of a complete output according to the requirements provided. (Long Assignments)
• Step 11: Understanding the requirements, communicating one’s own thoughts and presenting are important skills required in facing an interview for securing a work order/job. For instilling these skills, learners are presented with various subject-specific technical as well as HR-oriented questions and encouraged to answer them.
• Step 12: Finally, they develop the integral skills involving optimal methods and best practices to produce useful outputs right from scratch, publish them in their ePortfolio and thereby proceed from emulation to self-expression, from self-expression to self-confidence and from self-confidence to self-reliance and self-esteem!
Ready to start Building Dynamic Applications with Flask and Django Frameworks?
Join our upcoming batch at ZICA Kalyani center with certified instructors.
MKCL Certified Program
Admissions Open 2026
Flexible Offline & Hybrid Batches
Course Overview
Duration:30 hours
Track:Software Development
Skill Level:Advanced
Language:English
Mode:Learn at ALC or at Home
Certificate:Official MKCL
Key Course Highlights:
By the end of the course, learners will be able to:
Build web apps proficiently in both Flask and Django frameworks.
Set up the development environments while ensuring smooth coding experiences in Flask and Django.
Develop a solid foundation in HTML and CSS, enabling the creation of visually appealing web pages.
Discover the web development in Flask web development, including template handling and static file management.
Build skills in Flask database development, understanding SQLAlchemy ORM and CRUD operations.
Prepare RESTful APIs in Flask, demonstrating knowledge of application structure and configuration options.
Utilizing common Flask extensions and understanding the deployment workflow.
Build a solid understanding of Django, including project and app creation, views, and templates.
Build Django web applications with CRUD functionality, utilizing Django template language and static file management.
Designing data management in Django, understanding models, ORM, query sets, and forms for effective database interactions.