Python Django Training Course Material

Tools and Preparation :

  1. Install git on your system for here.
  2. Create an Account on Github.
  3. Download and install any one of IDE of your choice – PyCharm, Sublime. For Web – Use Sublime, VSCode.
  4. Download and install python from here.
  5. Download and install SourceTree from here.

Python Reference Links :

  1. CodeAcademy Python  – Tutorials
  2. Official Python Docs
  3. Basics of Python – easy tutorial
  4. Awesome Python 

Sites and Resources to follow on Python and Other Technologies (More Updates soon) :

  1.  Hacker News
  2.  Tech Crunch
  3.  Google Developers – Youtube
  4.  Youstart Labs – Youtube

Day 1 - Python Fundamentals

  • Python Interpreter
  • Python 2 and 3
  • Python Data types – Int, float, boolean, string, list
  • Python Dynamic Typing
  • Python Indentation
  • Python inputs
  • Python function
  • Python If blocks

Day 2 - List and String Functions

  • Lists functions
  • For Loops
  • String Slicing and Reversing
  • Duck Typing
  • Reference Variables – Shallow and Deep copy
  • Using Help in Python

Day-3 Python Data Structures

  • For Loops
  • Collections in Python – List, Tuple, Dictionary, Sets
  • List – Sequential, Mutable
  • Tuple – Sequential, Immutable
  • Dictionary – Hash maps, mutable, non-sequential
  • List functions – Append & Pop etc
  • Nested Lists
  • Nested Dictionaries

Day 4 - Git Basics

  • Git Command Interface
  • Git config setup – user.name and user.email
  • Git Repository Creation – git init
  • Git Staging – git add
  • Git Commit – git commit
  • Saving Commit on Remote Server(Github) – git push
  • Adding remotes  – git remote
  • git status, git log
  • Using SourceTree to making changes from UI
  • Github repo creation
  • Git Clone

Day 5 - Comprehensions, Modules and Classes

  • Comprehensions
  • Modules and Packages – import, from, as
  • Class and Objects in Python – self keyword

Day 6 - Numpy and Matplotlib

  • Using pip in python
  • Numpy – Installing using pip
  • Numpy – Array, rank, shape, indexing, slicing, arange
  • Numpy – Array maths – add, subtract, dot product, transpose
  • Matplotlib – Making plots with Matplotlib

Assignment 1

  1. Solve Problem of very simple Nature on: Coding Bat Python
  2. Create a program in python to copy all files with a given extension or filesize to be copied in a directory. If the directory is not created – it should create a new directory itself. Use Python OS and shutil module commands. The file should search for such files starting from “Desktop” or any of your specified directories.
  3. Use http://cs231n.github.io/python-numpy-tutorial/
    1. Complete NumPy examples – Find out the inverse of an Array using Numpy.
    2. Complete Matplotlib tutorials  – Draw a quadratic, logarithmic and exponential graph using the same concept.

Day 7 - HTML Basics and DOM

  • HTML Markups
  • HTML Elements – Tags and Attributes
  • HTML DOM Tree
  • HTML Tags – DIV, SPAN, A, IMG, P
  • Absolute and Relative Paths
  • HTML 5 – Semantic Web
  • ID vs CLASS attributes
  • Introduction to Chrome Dev Tools
  • CSS Styles

Day 8 - CSS Basics

  • Applying Styles in various methods  – external stylesheet (css), internal style, inline styles
  • Cascading stylesheets
  • User Agents Stylesheets
  • Priority of Styles
  • CSS Style element – Selectors, Property-Value pairs
  • CSS properties – background, color etc
  • CSS directional properties – Margin, padding, border (shorthand notations)
  • RGB values and Hex Codes
  • Animate CSS
  • Nesting of Selectors  [ Game Here ]

Day 9 - JavaScript Basics

  • Javascript – Dynamically typed language
  • Chrome Console
  • Variables in JavaScript – (var)
  • Mutator vs Non-Mutator Methods
  • Array in Javascript
  • Object in Javascript
  • Array Methods – push, pop, splice, reverse, unshift, shift, join
  • String Methods – split, indexOf, match, replace
  • Function chaining
  • Declaring function in JS – The 2 ways
  • Timers – SetTimeout and SetInterval
  • Date Object
  • Math Object – Random numbers

Day 10 - Python Web Scrapping - using BeautifulSoup4

  • Using PIP to install BeautifulSoup4
  • Beautifulsop data extraction
  • Using class, ID and other tags to extract data
  • Saving Data in a CSV file

Assignment 2

  1. Create a Weather collection portal of Top World Cities from Python Web Scrapping
  2. Create a Collage of Images by putting images into a directory. Use Pillow library to do necessary image manipulations.

Day 11 - Python Image Manipulation - Using Pillow

  • Using PIP to install Pillow
  • Image manipulation functions – Crop, Resize, Rotate etc
  • Using pillow to combine to images.

Day 12 - Django Installation

  • Creating Virtual environment on Windows and Linux
  • Installing Django using pip
  • Creating a new project
  • Creating a new app
  • Creating Superuser for admin panel
  • Running admin panel

Day 13 - Web Server and MVC - Django

  • Web Server and HTTP
  • HTTP request and response system
  • Chrome Network tools
  • Understanding MVC
  • Django MVC structure – Views, Templates and Models

Day 14 - Using Postgres with Django

  • Postgres Installation
  • PgAdmin 4
  • Using Settings.py to Connect to DB
  • Migration and Admin Setup
  • Creating SuperUser and auth_user table

Day 15 - Using Models and Migrations

  • Creating the App
  • Creating Models in models.py
    • Show migrations
    • Make migrations
    • Run migrations
  • Registering models in Admin panel
  • Model Queries

Day 16 - Using Views and Urls

  • Views.py – Creating a view function
  • Urls.py
  • Configuring a route to function in Views.py
  • using HTTPResponse

Day 17 - Using Templates

  • Setting Templates Directory
  • Using render method
  • Passing a context as dictionary
  • {% %} and {{}} notations
  • using for and if statements

Day 18 - Using Static Directory in Django

  • Using Static directory – for CSS, Images,JS etc.
  • Using STATIC_URL and STATIC_ROOT
  • Adding the new static path to Routing
  • Animate.CSS demo

Day 19 - Understanding GET and POST request / Form Inputs

  • Request Parameters in View.py
  • Using request.POST and request.GET params
  • Saving data From forms
  • Query String in URL
  • CSRF tokens