Software development course on Django python

 

Aura Auro Design offers a Software development course with Volunteer Sravan Reddy (  Graduate form IIT Delhi, and Programmer available for consulting HACHI Labs) to learn Web development using Django framework in pyhton on at ISMART Lab. It is six sessions course, each sessions take 2 hours. Each session will have two parts, first an explanation and demonstration of programming concepts and next application of those concepts using a programming exercise that you will be doing.

Tools needed:

You will need Python3, Pip (Pip is a python package management utility, we will talk about what it is used for in the class) and your favorite IDE installed on your computer for the first class. Please see below the instructions for installing Python3.

For Ubuntu

Please type below in your Terminal to install (If a line starts with #, it is a help comment for you, not a command)

“`

# Check the python version you have

python –version

“`

If it prints a python version of 3.x.x, you already have python3. If not, proceed to below step

“`

sudo apt-get update

sudo apt-get install python3

# Install Pip

sudo apt-get install python3-pip

pip3 install virtualenv

“`

For Mac OSX

Please type below in your Terminal.

“`

# Check the python version you have

python –version

“`

If it prints a python version of 3.x.x, you already have python3. If not, proceed to below step

“`

sudo brew install python3

# Install Pip

sudo brew install python3-pip

pip3 install virtualenv

For Windows 10

Open a Windows command-line and run `ubuntu` to launch a Linux shell in your Windows desktop. After this, you can follow the same instructions given above for Ubuntu.

For Windows version below 10

Most of the real world software runs on a Linux (or Unix) based operating system because it offers powerful programming tools. If you wish to launch a software on internet, you will most likely need experience with a Linux based operating system. Hence, we recommend coming with some Linux OS (like Ubuntu, CentOS etc) or Mac computer. 

If you don’t have a Linux OS, we recommend installing the Linux OS using a software called Virtualbox that will let you run two operating systems simultaneously. 

  1. Download and Install Virtualbox software for your OS from here
  2. Download Ubuntu 14.04 ISO file from here(we will have these two files available in the class tomorrow)
  3. Run virtualbox and create a new virtual machine following the onscreen instructions of virtualbox.

This should take about 20-30 mins. After you have this, you can follow above instructions for Ubuntu to install Python3 and Pip

Note:  If you having difficult in installation on python and virtualenv, then look on  https://tutorial.djangogirls.org/en/installation/

 

Session 1:

Look on this Document link for full presentation of session 1:  http://www.auraauro.com/wp-content/uploads/2018/04/SD-Class-–-Session-1.pdf

Assignment link:  http://www.auraauro.com/wp-content/uploads/2018/04/ps2.zip

Added few Explanation is missing in document:

What is python:

Python is a general-purpose programming language which can be used for a wide variety of applications. A great language for beginners because of its readability and other structural elements designed to make it easy to understand, Python is not limited to basic usage. In fact, it powers some of the world’s most complex applications and website.

Python is an interpreted language, meaning that programs written in Python don’t need to be compiled in advance in order to run, making it easy to test small snippets of code and making code written in Python easier to move between platforms. Since Python is most operating systems in common use, Python is a universal language found in a variety of different applications.

What is Python used for?

Python’s ease of use and compatibility across a variety of operating systems makes it an ideal language for a number of uses. Many complex websites either currently or historically have used Python to power their back ends, from YouTube to Instagram to Reddit, and thousands of other well-known examples. But Python isn’t only a web language.

Python Features:

  • Uses an elegant syntax, making the programs you write easier to read.
  • Python’s interactive mode makes it easy to test short snippets of code. There’s also a bundled development environment called IDLE.
  • Is easily extended by adding new modules implemented in a compiled language such as C or C++.
  • Can also be embedded into an application to provide a programmable interface.
  • Is free software in two senses. It doesn’t cost anything to download or use Python, or to include it in your application. Python can also be freely modified and re-distributed, because while the language is copyrighted it’s available under an open source license.
  • A variety of basic data types are available: numbers (floating point, complex, and unlimited-length long integers), strings (both ASCII and Unicode), lists, and dictionaries.
  • Python supports object-oriented programming with classes and multiple inheritance.
  • Code can be grouped into modules and packages.The language supports raising and catching exceptions, resulting in cleaner error handling.
  • Data types are strongly and dynamically typed (. Mixing incompatible types (e.g. attempting to add a string and a number) causes an exception to be raised, so errors are caught sooner.
  • Python contains advanced programming features such as generators and list comprehensions.
  • Python’s automatic memory management frees you from having to manually allocate and free memory in your code.

How to run a program

  • Create a file whatever name you want using terminal: touch <name of the file >.py
  • Open that file either using GUI or terminal and write program Ex: print(“hello world”) and save it.
  • To run that file, you need to navigate to the path where the file is located, then type: python3 <name of the file>.py

Session 2:

This Session is about installation of GIt ( open source version control software ) and Unittest module in python ( for code testing).

Please follow links for installation of Git:

  1.  https://git-scm.com/book/en/v2/Getting-Started-Installing-Git
  2. https://tutorial.djangogirls.org/en/deploy/

Look on this Document link for full presentation of session 2: http://www.auraauro.com/wp-content/uploads/2018/04/SD-Class-Session-2.pdf

Creating and using Git repository

Session 3 and 4:

Session 3 is about installation of django in virtual environment which created at session 1, starting first django project and running it.

Please follow this link to learn about django installation: https://tutorial.djangogirls.org/en/django_installation/

please follow this link to learn about starting first project: https://tutorial.djangogirls.org/en/django_start_project/

Session 4 is about creating a model in default database of python (sqlite), and writing function in view.py file of app which is created on project by using command: ./manage.py startapp <name of app>, and writing a urlpattern list in urls.py file of app to match user input url to function is view.py file of app.

We will write function which get user input through request class and get data for user from database, then return Httpsreponse with obtained data or call Html template with obtained data as parameter.

please follow this link to learn about model.py file: https://tutorial.djangogirls.org/en/django_models/

please follow this link to learn about view.py file: https://tutorial.djangogirls.org/en/django_views/

please follow this link to learn about urls.py file: https://tutorial.djangogirls.org/en/django_urls/

Look on this Document link for full presentation of session 3 and 4:  http://www.auraauro.com/wp-content/uploads/2018/04/Software-Development-Session-3.pdf

Session 5 and 6:

Session 5 is about

  • Continuation of session 4 topics,
  • Using Form in Html, creating superuser login in django_admin model,
  • Making migrations of models in model.py (when we modified model) and uses of migration id’s .

Session 6 is about:

  • Introduction to user login,
  • Redirecting url based upon whether user is login or not,
  • Documentation for learning computer science basis and django python.

Look on this Document link for full presentation of session 5 and 6: http://www.auraauro.com/wp-content/uploads/2018/05/Session-6.pdf