- Introduction of Python Programming and Features
- Python memory management
- Installation of Python (Mac and windows) and python set up on Editor
- Handling user inputs (input (), rlcompleter, and getpass)
- Python variables and datatypes
- Int, String, Lists, Tuples, Set, Dictionaries, etc., and their basic operations
- Comments and docstring in Python
- Control Statements and Loops
- Python functions
- PEP 8: Coding Style guide and libraries (pylint etc.,)
- List Comprehensions, Functional Approach
- Python anonymous functions, Map, Reduce, Filter
- Python File Handling/Operations (Context managers)
- Python Modules (JSON, OS, Sys, DateTime, etc.,)
- Python Decorators
- Python Generators and Iterators
- Python dunder methods
- Built-in iteration helpers: range (), zip (), enumerate (), reversed (), and sorted ()
- Exception Handling and Custom Exceptions
- Database connectivity (MySQL)
- OOPs concepts
- Class vs Static vs Instance methods
- debugging techniques (breakpoint, pdb)
- Python Unit Testing
- Python logging
- Time and Space Complexity
- RESTful Services
- Module based & comprehensive evaluation
- Introduction to Django
- Why Django over other frameworks? (Flask, fastAPI, pyramid)
- Installation
- Starting a new project and app
- Folder structure
- Django architecture – concepts of MVC & MVT
- The flow of a request in Django
- HTTP methods
- Some important manage.py commands
- Connection with database in Django settings
- Creating user and superuser
- Migrations
- Concept of ORM
- Models
- Model inheritance (Overview)
- Fields
- Class and function-based view approach
- Overview of Django mixins
- What are templates?
- Context
- Static files
- URLS
- Django tags
- CSRF tokens
- Request object
- How to use query parameters
- Django form fields
- Widgets
- Django model forms
- Django form sets
- Form validation
- Permission decorator
- Cookies
- Middleware’s
- What is REST?
- REST API design best practices
- Comparison between Django and DRF
- DRF views and serializers
- Serializer validation
- CORS
- Authentication methods