Tutorial 1: Introduction ============================= Slide 1 -------------- **What is a web application** Slide 2 -------------- **Learning Objectives** In this tutorial, we will learn about; - What is a web application - What is a web framework - Why to use Django Slide 3 --------------- **System Requirements** - Ubuntu 16.10 - Python 3.5 or higher version Slide 4 --------------- **Pre-requisites** In order to follow this tutorial, you need; - Familiarity with procedural programming - Familiarity with OOP concepts - Knowledge of coding in Python Slide 5 ---------------- **What is Django** - Free and open source - Web application framework - written in Python - Very popular [Image of Django logo] Slide 6 ---------------- **What is a web application** [Block diagram of Web application] - A web application is an application that is stored on a remote computer on the internet that can be accessed by a user through a web browser - A user communicates with the server by sending a 'request' through a browser - This 'request' contains essential information/data or commands - The web application accepts the 'request' - It carries out actions as per the information provided within the request - It uses a 'database' to as means of storing and manipulating information that may be required for the user in the future - The web application can read from, add to, delete from OR update the information in the database - After the web application has completed carrying out actions, it sends a response to the user - The user's browser then displays this response Slide 7 ------------------ **What is a web Framework** - Easy to develop web apps - Provides - Interface to DB - Authentication (Login system) - Templating engine (HTML rendering) - Forms Slide 8 ------------------- **Why Django** - easy to start with - has a lot of pre-built features available out of the box for someone who already knows how to develop stuff with Python. - supports various database backends - supports multilingual websites - provides a user interface for administrative activities - It allows the web developer to have a basic application up and running in reasonable time. Slide 9 -------------- **Where is Django used** Slide 10 -------------- **Where is Django used** - Pinterest - A social image and web resource sharing site - [Add Screenshot] Slide 11 -------------- **Where is Django used** - Instagram - A social photo sharing site - [Add Screenshot] Slide 12 -------------- **Where is Django used** - Disqus - A commenting system that can be integrated on any web page - [Add Screenshot]