Building Dynamic Applications with Flask and Django Frameworks
Track Software Development
Duration 30 hours
Skill Level Advanced
Language English

About this Course

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.