3.5 Months Python Django Course
About This Course
Now to bridge the gap between industry and IT students, Skill Shikshya is launching a 4 months Python Django Course.
Python Django Course by Skill Shikshya covers Python, Django forms, views, templates, authentication, and projects. This course is designed to equip you with the skills and knowledge needed to become a proficient Django developer. This comprehensive course covers everything from the fundamentals of Python programming to the details of Django, the high-level web framework that facilitates rapid development and clean, pragmatic design.
Why Python Django?
Introduction to Python: Python, known for its simplicity and readability, has become one of the most popular programming languages globally. This course begins with an in-depth introduction to Python, ensuring a strong foundation for all participants. You’ll grasp the core concepts, syntax, and best practices, which helps in the smooth transition to web development with Django.
Importance of Python Django: Django, the high-level web framework written in Python, allows developers to build scalable web applications efficiently. It follows the “Don’t Repeat Yourself” (DRY) principle, promoting code reusability and maintainability. By mastering Django, you gain the ability to create feature-rich web applications with ease.
Benefits of Taking the Python Django Course
✔ Versatility: Acquire skills applicable across various industries and projects, from startups to established enterprises.
✔ High Demand: Join in the ever-growing demand for Python and Django developers in the job market.
✔ Rapid Development: Django’s built-in features makes development efficient, enabling faster project completion.
✔ Community Support: Join a growing community of Python and Django enthusiasts, providing a valuable network for learning and collaboration.
Why Choose Skill Shikshya for the Python Django Course?
✔ Expert Instructors: Learn from industry professionals with extensive experience in Python and Django development.
✔ Hands-on Projects: Apply your knowledge through real-world projects, ensuring practical proficiency.
✔ Online & Offline Learning: Whether you prefer online or offline learning, Skill Shikshya provides options to choose the learning method.
✔ Career Guidance: Benefit from career-oriented support, including placement opportunities.
✔ Lifetime Access: Enjoy lifetime access to course content and updates, ensuring your skills stay current in the python django course.
Course Contents
Git, Github and Version Control
- Using git for version control and collaboration
- init
- https vs ssh
- forking and cloning
- branch
- checkout
- add
- Writing your first git commit
- Git pull, Git push
- Git fetch vs merge
Front-End Technologies
HTML 5
- Introduction to HTML
- Learn the anatomy of HTML syntax to structure your websites.
- How to structure text in HTML.
- What are tags in HTML: heading, div, paragraphs, etc.
- Structure text in HTML
- HTML Elements, Attributes
- Unordered and ordered lists
- How to insert images using anchor tags
- Table layout and content
- Learn HTML best practices, Forms
- HTML identifiers: class and Id
- Linking CSS and scripts
CSS 3
- CSS introduction and styling
- How to use CSS selectors, pseudo-selectors, and properties.
- Class vs. Ids and how to target each.
- Learn about how to use inline, internal, and external CSS
- Learn the anatomy of CSS syntax and structure.
- CSS Box Model: Borders, Margins, and Padding
- Font and Background styling
- List and table styling
- How to use CSS float
- Responsive web design with media queries.
Bootstrap
- Introduction and Installation of Bootstrap
- Understanding the Bootstrap grid layout system
- Learn to use other Bootstrap components such as buttons
- – Form-control class in Bootstrap
JavaScript and DOM Manipulation
- The Fundamentals of Code
- Starting code with alerts and prompts. Understand Variables and Data Types in JavaScript Variable naming in JS
- Working with strings and numbers
- Loops, and Conditionals.
- Functions, JS Class and objects
- ‘This’ keyword in JS, Arrow functions
- Map/Filter/Reduce
- Spread Operator
- Introduction to DOM Manipulation
- Script Tag
- DOM selectors, DOM elements: properties and methods
- DOM Events, event listener
- Validation in JS
Python and Environment Setup
- Introduction to Python
- Zen of Python
- Features of Python
- Python Installation
- What is an interpreter?
- Interpreters’ vs Compilers
- Using the Python shell
- Creating Your First Python Program
- Reading Keyword Input
- Using IDE
- Install using pip
- What is a Virtual Environment?
- How to set up and work in a virtual environment?
Basics in Python
- What is Variable?
- Assigning values to variables
- Constants in python
- Standard Data Types
- Mutable and immutable data types
- Getting to know the data types of a variable
- Operators and Operands
- Type conversion
- Use of underscore in python
Basic Operators in Python
- Types of Operators
- Arithmetic Operators
- Comparison Operators
- Assignment Operators
- Bitwise Operators
- Logical Operators
- Membership Operators (in, not in)
- Identity Operators (is, is not)
- Python Operators Precedence
Numbers in Python
- Integers, Float, Complex
- Round method
- Range, Slicing
- Floor division and mod
- Type conversion
Python Strings
- Slicing
- Modify and Concatenate
- String Methods
- String formatting
Python Lists
- Creating list
- Accessing Values in Lists
- Updating Lists
- Delete List Elements
- Basic List of Operations
- Slicing
- Built-in List Functions & Methods
- Map, filter, and reduce versa (split and join)
Tuples
- List vs Tuple
- Packing and Unpacking
- Comparing tuples
- Creating a nested tuple
- Using tuples as keys in dictionaries
- Accessing Values in Tuples
- Updating Tuples
- Delete Tuple
- Slicing
- Tuples Methods
Python Dictionary
- How to create a dictionary?
- Accessing Values in the Dictionary
- Copying dictionary
- Updating Dictionary
- Delete Dictionary Elements
- Properties of Dictionary Keys
- Sorting the Dictionary
- Built-in Dictionary Functions & Methods
Python Sets
- How to create a set?
- Iteration over Sets
- Python Set Operations
- Union of sets
- Built-in Functions with set
- Python Frozen set
Comprehensions
- List Comprehension
- Tuple Comprehension
- Dictionary Comprehension
- Set Comprehension
- Generator Comprehension
Loops and Decision Making
- If.. Else statement
- Use “elif” condition
- While loop
- For loop
- For…else
- Nested condition and loops
- Loop Control Statements (break statement, continue statement, pass statement)
- Match (Switch) statement (from Python 3.10)
- Looping Techniques
Functions of Python
- Defining a Function
- Syntax
- Calling a Function
- Python uses Pass by reference or pass-by-value?
- Function Arguments: Positional and Keyword arguments
- Default arguments
- Arbitrary arguments (*args and **kwargs)
- The return statement
- Namespace and scope
- Scope of variables
- Magic methods
- Built-in methods
- Lambda Functions
- Map (), filter (), reduce () functions
- DOC string class
- Nested functions
OOP in Python
- Introduction to OOPs Programming
- Basic concept of Object and Classes
- How to define Python classes?
- Self in python
- Init in python
- Instance, class and static methods in python
- Inheritance, Types of inheritance
- How inheritance works?
- Ambiguity in inheritance
- Polymorphism: compile time and runtime
- Overloading and Overriding in Python
- Encapsulation and Access Modifiers
- Abstraction
- Abstract class and methods
- Package and Module
- Import methods/Libraries
File Manipulation
- Opening text file
- The open function
- File modes
- Basic methods in file handling
- Reading and writing in files
- Renaming and deleting files
Bonus
- Date and time module
- Converting JSON to Python object and vice versa
- What are: Python Enumerate, Iterator, Generator, Closure, and Decorator?
- Errors and Exception Handling
- Try…except…else…finally
- Debugging
Introduction to Django
- What is a web framework?
- Introduction to Django
- Why Django
- MVT Architecture
- How Django processes a request
Installation of Django
- Installing Django
- Virtual Environment setup
- Starting a Project
- Project structure
- Setting up a database
- Django commands overview
- Running Development Server
The Django Administration Site
- Creating a super user
- Activating the Admin Interface
- Using the Admin Interface
- Customizing the Admin Interface
Basics of Django
- Django Settings
- Your First App
- Render Static Page (Template, Your first view: Rendering a page)
- Mapping views to URLs
- URL configurations
Interacting with a Database: Models
- The “Dumb” way to Do Database Queries in views
- ORM
- Defining Models in python
- Your first model, Basic Data Access
- Adding Model String Representations
- What is context?
- Selecting Objects, Filtering Data
- Retrieving single Objects
- Ordering Data, Deleting Objects
- Making changes to a database schema
- Adding, and altering fields
- Removing fields
- Meta class, Abstract class
The Django Template System
- Template System Basics
- Rendering a template
- Multiple contexts, same template
- Block tag, Static tag
- Extend (Template Inheritance)
- Include Template Tag
- Basic Template Tags and Filters Tag
Model, Forms, Views, URLs and Template
- Function based view vs Class Based views
- Rendering dynamic data to template
- Creating form classes
- Cleaning and validation of forms
- CRUD operations
- URL naming
- Create a Project
URL Patterns and Routing
- URL patterns and regular expressions
- Including and namespacing URL patterns
- Handling parameters in URLs
User Management
- Customizing User Model
- Users, Groups and Permissions
- Authenticating and Authorization
- Signup
- Login and Logout
Django Authentication
- User authentication and authorization
- Customizing authentication views
- Social media authentication
Bonus
- Sending a Simple Email
- Sending HTML Email
- What is a Signal?
RESTful API
- What is REST API?
- Request Response Cycle
- JsonResponse
- Serialization
- Using Postman
Django Rest Framework
- Introduction to DRF
- Why DRF?
- Install and setup DRF
- Quickstart
- Testing API
Django API ( Serializers, views and URLs)
- Generic Views (DetailView, ListView, FormView, CreateView, UpdateView, DeleteView)
- API Views
- What is a serializer
- Types of serializers
- Creating a serializer
- Mapping views to URLs
- Routers, CRUD operations, Pagination
- Testing API using Postman
User Management
- Installation and use of JWT
- Access and refresh token
- Users and Authentication
- Signup
- Logging In and Out
- User Profile
Deployment and Project Work
- Deployment of your project on cpanel or Heruko, Netlify
- Final project work and review
Additional:
- Best practices in coding, project structure, and documentation.
- Test-driven development (TDD) principles and practices.
- Introduction to popular front-end frameworks like React or Vue.js.
Learning Objectives
Material Includes
- All the materials and resources needed for this course will be provided by the instructor
Requirements
- Basic Programming Knowledge
- Interest in Web Development and Django
Target Audience
- The Python Django Course is for those who are passionate about building scalable web applications efficiently through Django framework.