<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="https://script.spoken-tutorial.org/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>https://script.spoken-tutorial.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=SiddharthaSarkar</id>
		<title>Script | Spoken-Tutorial - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="https://script.spoken-tutorial.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=SiddharthaSarkar"/>
		<link rel="alternate" type="text/html" href="https://script.spoken-tutorial.org/index.php/Special:Contributions/SiddharthaSarkar"/>
		<updated>2026-04-10T20:50:10Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.23.17</generator>

	<entry>
		<id>https://script.spoken-tutorial.org/index.php/Python-Flask/C2/Introduction-to-Flask-Templates/English</id>
		<title>Python-Flask/C2/Introduction-to-Flask-Templates/English</title>
		<link rel="alternate" type="text/html" href="https://script.spoken-tutorial.org/index.php/Python-Flask/C2/Introduction-to-Flask-Templates/English"/>
				<updated>2019-08-11T20:36:51Z</updated>
		
		<summary type="html">&lt;p&gt;SiddharthaSarkar: First edit to do some wiki formatting&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Title of script: Introduction to Flask Templates'''&lt;br /&gt;
&lt;br /&gt;
'''Author: Siddhartha Sarkar'''&lt;br /&gt;
&lt;br /&gt;
Keywords: Video tutorial, Python Flask, flask templates, render_ template, jinja2, variables in templates.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| border=1&lt;br /&gt;
|- &lt;br /&gt;
| | '''Visual Cue'''&lt;br /&gt;
| | '''Narration'''&lt;br /&gt;
|- &lt;br /&gt;
|| '''Slide 1: Introduction to Flask templates'''&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;Welcome to the Spoken Tutorial on&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''Introduction to Flask templates'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | '''Slide 2: Learning Objectives'''&lt;br /&gt;
|| In this tutorial, we will learn to* &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;Use &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;'''templates'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;in &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;'''Flask'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;Use &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;'''variables'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;inside &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;'''templates'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;Gain insight about the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;'''View'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt; part of &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;'''MVC'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Slides 3: System Requirements'''&amp;lt;/div&amp;gt;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;To record this tutorial, I’m&amp;amp;nbsp; using&amp;lt;/div&amp;gt;* &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;'''Ubuntu Linux 16.04'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;'''OS'''&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;'''Python'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;'''3.5.2'''&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;'''Atom text editor 1.22.1 '''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;and&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Firefox Web Browser'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;However, you may use any other &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''editor'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;or &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''browser'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;of your choice.&amp;lt;/span&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Slide 5:'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Pre-requisites'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;To follow this tutorial, you should have working knowledge of&amp;lt;/div&amp;gt;* &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Linux commands'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;'''Python programming language '''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;and&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''HTML syntax'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;If not, then please go through the corresponding tutorials on this website.&amp;amp;nbsp;&amp;lt;/div&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | '''Slide 6: MVC Architecture'''&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;Let us begin with the concept of &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''MVC architecture'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''MVC paradigm '''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;separates a &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''web app'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;into three interlinked components.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Model'''&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;'''View '''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;and&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;'''Controller'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Slide 7: MVC Architecture'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''(Model)'''&amp;lt;/div&amp;gt;&lt;br /&gt;
|| * &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;&amp;quot;&amp;gt;'''Model '''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;&amp;quot;&amp;gt;is used to represent the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;&amp;quot;&amp;gt;'''application data'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;&amp;quot;&amp;gt;We will talk more about it once we introduce &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;&amp;quot;&amp;gt;'''database '''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;&amp;quot;&amp;gt;related things.&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Slide 8: MVC Architecture'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''(View)'''&amp;lt;/div&amp;gt;&lt;br /&gt;
|| * &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;&amp;quot;&amp;gt;'''View '''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;&amp;quot;&amp;gt;is the presentation layer of &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;&amp;quot;&amp;gt;'''MVC'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;&amp;quot;&amp;gt;The appearance of the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;&amp;quot;&amp;gt;'''app'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;&amp;quot;&amp;gt; is taken care of by the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;&amp;quot;&amp;gt;'''View '''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;&amp;quot;&amp;gt;component.&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Slide 9: MVC Architecture'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''(Controller)'''&amp;lt;/div&amp;gt;&lt;br /&gt;
|| * &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;'''Controller '''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;is responsible for directing the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;'''execution flow'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt; of the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;'''app'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;Once the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;'''requests '''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;are sent to the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;'''server,'''&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
** &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;'''controller '''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;code processes the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;'''request'''&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
** &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;and sends back the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;'''response'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Slide 11: MVC Architecture'''&amp;lt;/div&amp;gt;&lt;br /&gt;
|| * &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;The &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;'''templates '''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;are part of the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;'''View '''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;part of &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;'''MVC'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;Loosely speaking, &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;'''templates'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt; are &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;'''HTML '''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;pages that can be inherited.&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;We need a &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;'''template engine '''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;for handling &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;'''templates'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''Slide 6'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;: &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''Templates'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|| * &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;So far we have simply returned &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;'''HTML'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt; code from the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;'''view functions'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;By using &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;'''templates,'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt; one can return an &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;'''HTML'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt; file from the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;'''view functions'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''Slide 7'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;: &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''Templates'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|| * &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;One &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;'''HTML file'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt; can inherit &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;'''HTML'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt; code from another file with the help of &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;'''templates'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;For example, a typical &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;'''website'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt; has some &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;'''logo'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;, &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;'''header,'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt; etc. common in all pages.&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''Slide 8'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;: &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''Templates'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|| * &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;So one can write a base &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;'''HTML'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;'''file'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;'''template.'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;And other pages can inherit the same base &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;'''HTML'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;'''file template'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background-color:#ffffff;border-top:1pt solid #000000;border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:0.5pt solid #000000;padding-top:0.176cm;padding-bottom:0.176cm;padding-left:0.095cm;padding-right:0.176cm;&amp;quot;&lt;br /&gt;
|| &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Open a Terminal window&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;Let us open the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''Terminal'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;by pressing &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''Ctrl'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;, &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''Alt'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;and &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''T'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;keys simultaneously on the keyboard.&amp;lt;/span&amp;gt;&lt;br /&gt;
|- style=&amp;quot;background-color:#ffffff;border:0.5pt solid #000000;padding:0.106cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;[Terminal]&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Type cd project_flask &amp;amp; Press Enter&amp;lt;/div&amp;gt;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;Now go to the folder &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''project underscore flask'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;which we created earlier using &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''cd'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''command.'''&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:0.5pt solid #000000;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;&amp;quot; | &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;[Terminal]&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;$ . flask_venv/bin/activate&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;[Enter]&amp;lt;/div&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-top:0.5pt solid #000000;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;&amp;quot; | &amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;And activate our &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''virtualenv'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Type&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''dot space flask_venv slash bin slash activate'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;And press &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''Enter'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:1pt solid #000000;border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:0.5pt solid #000000;padding-top:0.176cm;padding-bottom:0.176cm;padding-left:0.095cm;padding-right:0.176cm;color:#000000;&amp;quot; | Only narration&lt;br /&gt;
| style=&amp;quot;border-top:1pt solid #000000;border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:0.5pt solid #000000;padding-top:0.176cm;padding-bottom:0.176cm;padding-left:0.095cm;padding-right:0.176cm;&amp;quot; | &amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;Here onwards, please remember to press the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''Enter'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;key after typing each &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''command'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:0.5pt solid #000000;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;&amp;quot; | &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;[Terminal]&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Type&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;$ atom hello_flask.py&amp;lt;/div&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-top:0.5pt solid #000000;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;&amp;quot; | &amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;Let’s open the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''hello_flask.py'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;file which we created earlier in this series, in any &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''text editor'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;[Text Editor] hello_flask.py&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Highlight HTML part in my_form().&amp;lt;/div&amp;gt;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;Observe that the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''my_form() function'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;returns &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''raw HTML'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;Now we will demonstrate how we can avoid returning raw &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''HTML'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''code'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;For that we have to create our &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''HTML template'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;files in a separate folder called &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''templates'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;[Terminal]&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;mkdir templates [Enter]&amp;lt;/div&amp;gt;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;Switch to the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''terminal.&amp;amp;nbsp;'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;And let’s create a &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''folder'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;named &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''templates.'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;Type &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''mkdir &amp;lt;space&amp;gt; templates'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| &lt;br /&gt;
[Editor: sample_template.html] &amp;lt;br&amp;gt;&lt;br /&gt;
Type&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!DOCTYPE html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;head&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;title&amp;gt;Hello&amp;lt;/title&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/head&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;body&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&lt;br /&gt;
	&amp;lt;h1&amp;gt;The firstname value is Spoken&amp;lt;/h1&amp;gt;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/body&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;Let us write a simple &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''HTML'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;code to print the first name in a new file &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''sample_template.html&amp;amp;nbsp;'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Type the code as shown here.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | Press Ctrl + S&lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | And save the file.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | Only Narration&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;Now let us render this &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''HTML'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;file via &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''python flask app'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;.&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;For this demonstration, let us define a new &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''route'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;in &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;our &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''hello_flask'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;file.&amp;lt;/span&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;Switch to &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''hello_flask.py'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;in the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''text editor'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;Switch to the file &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''hello_flask.py'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;in the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''text editor'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;[Editor: hello_flask.py]&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;@app.route('/template')&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;def template_ex():&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;return render_template('sample_template.html')&amp;lt;/span&amp;gt;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;In the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''hello_flask.py'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;file, before the last&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''if condition'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;, type the code as shown here.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | Highlight: render_template('sample_template.html')&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;Inside this &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''route'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;we have used the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''function render_template'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;provided by &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''Flask'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;This &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''function'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;is used to render an &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''HTML'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''template file'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;Here we pass &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''sample_template.html'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;as an &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''argument'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;to the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''render_template function'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;So, &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''Flask'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;will look for the file &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''sample_template dot html'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;inside the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''templates folder'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;[Text Editor] Add , render_template&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;from flask import Flask, request, render_template&amp;lt;/div&amp;gt;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;In the 1st line, we will import the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''method render_template.'''&amp;lt;/span&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | Press Ctrl + S keys&lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | And then save the file&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | [Terminal]&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;Now switch to the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''terminal'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;[Terminal]&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Type&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;$ export FLASK_APP=hello_flask.py&amp;lt;/div&amp;gt;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;And type&amp;amp;nbsp; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''export &amp;lt;space&amp;gt; FLASK_APP &amp;lt;equal to &amp;gt; hello underscore flask dot py'''&amp;lt;/span&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;[Terminal]&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Type $ python3 -m flask run [Enter]&amp;lt;/div&amp;gt;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;Now run the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''server.'''&amp;lt;/span&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;[Firefox]&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;Type &amp;lt;/span&amp;gt;[http://127.0.0.1:5000/ http://127.0.0.1:5000/]&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;template&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;And press Enter.&amp;lt;/div&amp;gt;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;Then, open a &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''web browser'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;and in the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''address bar'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;, type&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''http://127.0.0.1:5000/template'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;And press &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''Enter'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | [Firefox] Highlight the text.&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;We got the output of the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''HTML page'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;So we have rendered the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''HTML code'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;without hardcoding it inside the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''python'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;file.&amp;lt;/span&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | Only narration&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;Now switch to the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''hello_flask.py'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;file&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;We can pass the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''variables'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;as a parameter to the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''render_template method.'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Let us see how we can do this.&amp;lt;/div&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;def template_ex():&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;fname = 'Tutorial'&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;return render_template('sample_template.html', firstname = fname)&amp;lt;/div&amp;gt;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;Update the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''template_ex method'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;as shown here.&amp;lt;/span&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | [Text Editor] highlight fname = ‘Tutorial’&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;I have declared a &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''variable'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;called &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''fname'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;here and assigned the value &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''Tutorial'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;to it.&amp;lt;/span&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;[Text Editor] Highlight&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;return render_template('sample_template.html', firstname = fname)&amp;lt;/span&amp;gt;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;Then I have passed this &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''variable fname'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;to the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''render_template'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''method'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;Now the value of the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''variable fname'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;can be accessed via the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''variable firstname'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;in the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''HTML'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;file.&amp;lt;/span&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | Press Ctrl + S keys&lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | Let’s save the file.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;[Text Editor]&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;In sample_template.html&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Highlight Spoken&amp;lt;/div&amp;gt;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;And switch to &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''sample_template.html'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;file.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;Here, we have explicitly mentioned &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''Spoken '''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;as&amp;amp;nbsp; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''firstname'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;We will use &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''jinja'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;to interact the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''HTML'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;file with the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''python'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;file.&amp;lt;/span&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''Slide 9'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;: &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''Jinja'''&amp;lt;/span&amp;gt;&lt;br /&gt;
|| * &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;'''Jinja'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt; is a powerful &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;'''templating'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;'''language'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;It allows generating &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;'''HTML'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt; on the fly based on the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;'''request'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;It supports &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;'''control structures'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt; such as &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;'''if-&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;statements'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt; and &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;'''for-loops'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;Most importantly, it enables &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;'''inheritance'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt; of &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;'''HTML'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt; code.&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Modify the body as&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&amp;lt;h1&amp;gt;The firstname value is {{ firstname }}&amp;lt;/h1&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;(&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''within double curly braces firstname'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;)&amp;lt;/span&amp;gt;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;Switch to &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''sample_template.html'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;file.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;To access a &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''variable'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;in &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''Jinja,'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;we have to write it within &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''double'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''curly braces'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;So replace the word &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''Spoken '''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;with &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''within-double curly braces, firstname.'''&amp;lt;/span&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | Press Ctrl + S&lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | Save the file.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;[Terminal]&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Type&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;$ python3 -m flask run&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;[Enter]&amp;lt;/div&amp;gt;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;And switch to the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''terminal'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;Stop the running &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''server '''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;and &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''start'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''server'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;once again, by typing this &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''command'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Type&amp;amp;nbsp;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://127.0.0.1:5000/ http://127.0.0.1:5000/template]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;And press Enter.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;Highlight &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''Tutorial'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;Then switch to the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''browser'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;and refresh the page.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;Observe that, we get &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''Tutorial'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;.&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;That means we have successfully passed the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''variable'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;from &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''python'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;to &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''HTML'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;[Text Editor] hello_flask.py&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;&amp;amp;nbsp;def my_form():&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;if request.method == 'POST':&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;firstname = request.form.get('firstname')&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;lastname = request.form.get('lastname')&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;return render_template('form1.html', fname=firstname, lname=lastname)&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;return render_template('form2.html')&amp;lt;/div&amp;gt;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;Once again, switch to the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''hello_flask.py'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;file and update the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''form'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''route'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;as shown.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;Press &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''Ctrl + S'''&amp;lt;/span&amp;gt;&lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | Save this file.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | Only narration&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;Now we have to create two &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''HTML'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;files &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''form1.html'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;and &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''form2.html'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Terminal&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Press Ctrl + C&amp;lt;/div&amp;gt;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;Switch to the terminal and stop the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''server'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;[Terminal]&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;atom templates/form1.html templates/form2.html&amp;amp;nbsp; [Enter]&amp;lt;/div&amp;gt;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;Now open &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''form1.html '''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;and &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''form2.html'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;in a &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''text editor'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;[Text Editor] Show form1.html&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!DOCTYPE html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;head&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;    &amp;lt;title&amp;gt; Hello &amp;lt;/title&amp;gt;      &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/head&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;body&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;    &amp;lt;h1&amp;gt;The firstname value is: {{ fname }}&amp;lt;/h1&amp;gt;     &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;    &amp;lt;h1&amp;gt;The lastname value is: {{ lname }}&amp;lt;/h1&amp;gt;     &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/body&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;In &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''form1.html,'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;add the following piece of code.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;This code will simply display the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''firstname'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;and &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''lastname'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;Press &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''Ctrl + S'''&amp;lt;/span&amp;gt;&lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | Save the file.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;[Text Editor] Show form2.html&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt;&amp;lt;!DOCTYPE html&amp;gt;&amp;lt;html&amp;gt;&amp;lt;head&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt;&amp;amp;nbsp; &amp;amp;nbsp; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt;&amp;lt;title&amp;gt;Hello&amp;lt;/title&amp;gt;&amp;lt;/head&amp;gt;&amp;lt;body&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt;&amp;amp;nbsp; &amp;amp;nbsp; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt;&amp;lt;form method=&amp;quot;POST&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt;&amp;amp;nbsp; &amp;amp;nbsp; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt;Firstname: &amp;lt;input type=&amp;quot;text&amp;quot; name=&amp;quot;firstname&amp;quot;&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt;&amp;amp;nbsp; &amp;amp;nbsp; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt;Lastname: &amp;lt;input type=&amp;quot;text&amp;quot; name=&amp;quot;lastname&amp;quot;&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt;&amp;amp;nbsp; &amp;amp;nbsp; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt;&amp;lt;input type=&amp;quot;submit&amp;quot; value=&amp;quot;Submit&amp;quot;&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt;&amp;amp;nbsp; &amp;amp;nbsp; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt;&amp;amp;nbsp; &amp;amp;nbsp; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt;&amp;lt;/form&amp;gt;&amp;lt;/body&amp;gt;&amp;lt;/html&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;In &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''form2.html'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;, add the following piece of code.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;This code will&amp;amp;nbsp; display a form to receive &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''firstname'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;and &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''lastname'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;Press &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''Ctrl + S'''&amp;lt;/span&amp;gt;&lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | Again, save the file.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;[Terminal]&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Type python3 -m flask run&amp;lt;/div&amp;gt;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;Switch to the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''terminal'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;And run the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''server '''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;again.&amp;lt;/span&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;[Browser]&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Type&amp;amp;nbsp;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://127.0.0.1:5000/ http://127.0.0.1:5000/form]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;And press Enter.&amp;lt;/div&amp;gt;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;Then switch to the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''browser'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;And in the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''address bar'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;, replace &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''template'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;with &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''form'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;and press &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''Enter'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;[Browser]&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Firstname : Spoken&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Lastname: Tutorial [Submit]&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;Enter the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''first name'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;as &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''Spoken.'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;And &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''last name'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;as &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''Tutorial.'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;Then click on the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''Submit '''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;button.&amp;lt;/span&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | [Browser] Highlight the text on screen.&lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | We got the output as desired.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;[Terminal]&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;Press &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''Ctrl + C'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;Type &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''deactivate'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;and press &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''Enter'''&amp;lt;/span&amp;gt;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;Switch back to the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''terminal'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;Let’s stop the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''server'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;And &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''deactivate'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;the&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''virtual environment'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | Only narration&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;This brings us to an end of this tutorial.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Let us summarise.&amp;lt;/div&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;Slide 8: &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''Summary'''&amp;lt;/span&amp;gt;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;In this tutorial, we learnt about-&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/div&amp;gt;* &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;'''Templating'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt; in &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;'''flask'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt; to write clean code.&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;Using &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;'''variables'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt; in the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;'''jinja2 templating language.'''&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;The &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;'''View'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt; part of &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;'''MVC'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:1pt solid #000000;border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:0.5pt solid #000000;padding-top:0.176cm;padding-bottom:0.176cm;padding-left:0.079cm;padding-right:0.176cm;&amp;quot; | &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Slide: About Spoken Tutorial project&amp;lt;/div&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-top:1pt solid #000000;border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:0.5pt solid #000000;padding-top:0.176cm;padding-bottom:0.176cm;padding-left:0.079cm;padding-right:0.176cm;&amp;quot; | &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;The video at the following link summarises the Spoken Tutorial project.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Please download and watch it.&amp;lt;/div&amp;gt;&lt;br /&gt;
|- style=&amp;quot;background-color:#ffffff;border:0.5pt solid #000000;padding-top:0.176cm;padding-bottom:0.176cm;padding-left:0.095cm;padding-right:0.176cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Slide:&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Spoken Tutorial workshops&amp;lt;/div&amp;gt;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt;The&amp;amp;nbsp;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt;'''Spoken Tutorial Project'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt;team &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;conducts workshops and gives certificates.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;For more details, please write to us.&amp;lt;/div&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:0.5pt solid #000000;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;color:#000000;&amp;quot; | Slide: Forum for specific questions:&lt;br /&gt;
| style=&amp;quot;border-top:0.5pt solid #000000;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;color:#000000;&amp;quot; | Please post your timed queries in this forum.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background-color:#ffffff;border-top:1pt solid #000000;border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:0.5pt solid #000000;padding-top:0.176cm;padding-bottom:0.176cm;padding-left:0.095cm;padding-right:0.176cm;color:#000000;&amp;quot; | Slide: Acknowledgement&lt;br /&gt;
| style=&amp;quot;border-top:1pt solid #000000;border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:0.5pt solid #000000;padding-top:0.176cm;padding-bottom:0.176cm;padding-left:0.095cm;padding-right:0.176cm;&amp;quot; | &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Spoken Tutorial Project is funded by NMEICT, MHRD, Government of India.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;More information on this mission is available at this link.&amp;lt;/div&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:0.5pt solid #000000;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;&amp;quot; | &lt;br /&gt;
| style=&amp;quot;border-top:0.5pt solid #000000;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;&amp;quot; | &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;This is Siddhartha Sarkar signing off.&amp;amp;nbsp;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Thanks for watching.&amp;lt;/div&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>SiddharthaSarkar</name></author>	</entry>

	<entry>
		<id>https://script.spoken-tutorial.org/index.php/Python-Flask/C2/Introduction-to-Flask-Templates/English</id>
		<title>Python-Flask/C2/Introduction-to-Flask-Templates/English</title>
		<link rel="alternate" type="text/html" href="https://script.spoken-tutorial.org/index.php/Python-Flask/C2/Introduction-to-Flask-Templates/English"/>
				<updated>2019-08-11T19:21:23Z</updated>
		
		<summary type="html">&lt;p&gt;SiddharthaSarkar: First draft&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Title of script: Introduction to Flask Templates'''&lt;br /&gt;
&lt;br /&gt;
'''Author: Siddhartha Sarkar'''&lt;br /&gt;
&lt;br /&gt;
Keywords: Video tutorial, Python Flask, flask templates, render_ template, jinja2, variables in templates.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| border=1&lt;br /&gt;
|- &lt;br /&gt;
| | '''Visual Cue'''&lt;br /&gt;
| | '''Narration'''&lt;br /&gt;
|- &lt;br /&gt;
|| '''Slide 1: Introduction to Flask templates'''&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;Welcome to the Spoken Tutorial on&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''Introduction to Flask templates'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | '''Slide 2: Learning Objectives'''&lt;br /&gt;
|| In this tutorial, we will learn to* &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;Use &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;'''templates'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;in &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;'''Flask'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;Use &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;'''variables'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;inside &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;'''templates'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;Gain insight about the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;'''View'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt; part of &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;'''MVC'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Slides 3: System Requirements'''&amp;lt;/div&amp;gt;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;To record this tutorial, I’m&amp;amp;nbsp; using&amp;lt;/div&amp;gt;* &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;'''Ubuntu Linux 16.04'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;'''OS'''&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;'''Python'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;'''3.5.2'''&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;'''Atom text editor 1.22.1 '''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;and&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Firefox Web Browser'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;However, you may use any other &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''editor'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;or &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''browser'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;of your choice.&amp;lt;/span&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Slide 5:'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Pre-requisites'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;To follow this tutorial, you should have working knowledge of&amp;lt;/div&amp;gt;* &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Linux commands'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;'''Python programming language '''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;and&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''HTML syntax'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;If not, then please go through the corresponding tutorials on this website.&amp;amp;nbsp;&amp;lt;/div&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | '''Slide 6: MVC Architecture'''&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;Let us begin with the concept of &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''MVC architecture'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''MVC paradigm '''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;separates a &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''web app'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;into three interlinked components.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Model'''&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;'''View '''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;and&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;'''Controller'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Slide 7: MVC Architecture'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''(Model)'''&amp;lt;/div&amp;gt;&lt;br /&gt;
|| * &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;&amp;quot;&amp;gt;'''Model '''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;&amp;quot;&amp;gt;is used to represent the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;&amp;quot;&amp;gt;'''application data'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;&amp;quot;&amp;gt;We will talk more about it once we introduce &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;&amp;quot;&amp;gt;'''database '''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;&amp;quot;&amp;gt;related things.&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Slide 8: MVC Architecture'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''(View)'''&amp;lt;/div&amp;gt;&lt;br /&gt;
|| * &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;&amp;quot;&amp;gt;'''View '''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;&amp;quot;&amp;gt;is the presentation layer of &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;&amp;quot;&amp;gt;'''MVC'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;&amp;quot;&amp;gt;The appearance of the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;&amp;quot;&amp;gt;'''app'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;&amp;quot;&amp;gt; is taken care of by the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;&amp;quot;&amp;gt;'''View '''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;&amp;quot;&amp;gt;component.&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Slide 9: MVC Architecture'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''(Controller)'''&amp;lt;/div&amp;gt;&lt;br /&gt;
|| * &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;'''Controller '''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;is responsible for directing the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;'''execution flow'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt; of the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;'''app'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;Once the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;'''requests '''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;are sent to the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;'''server,'''&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
** &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;'''controller '''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;code processes the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;'''request'''&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
** &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;and sends back the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;'''response'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Slide 11: MVC Architecture'''&amp;lt;/div&amp;gt;&lt;br /&gt;
|| * &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;The &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;'''templates '''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;are part of the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;'''View '''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;part of &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;'''MVC'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;Loosely speaking, &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;'''templates'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt; are &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;'''HTML '''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;pages that can be inherited.&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;We need a &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;'''template engine '''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;for handling &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;'''templates'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''Slide 6'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;: &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''Templates'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|| * &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;So far we have simply returned &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;'''HTML'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt; code from the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;'''view functions'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;By using &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;'''templates,'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt; one can return an &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;'''HTML'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt; file from the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;'''view functions'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''Slide 7'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;: &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''Templates'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|| * &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;One &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;'''HTML file'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt; can inherit &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;'''HTML'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt; code from another file with the help of &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;'''templates'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;For example, a typical &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;'''website'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt; has some &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;'''logo'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;, &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;'''header,'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt; etc. common in all pages.&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''Slide 8'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;: &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''Templates'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|| * &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;So one can write a base &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;'''HTML'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;'''file'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;'''template.'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;And other pages can inherit the same base &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;'''HTML'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;'''file template'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background-color:#ffffff;border-top:1pt solid #000000;border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:0.5pt solid #000000;padding-top:0.176cm;padding-bottom:0.176cm;padding-left:0.095cm;padding-right:0.176cm;&amp;quot;&lt;br /&gt;
|| &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Open a Terminal window&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;Let us open the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''Terminal'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;by pressing &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''Ctrl'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;, &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''Alt'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;and &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''T'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;keys simultaneously on the keyboard.&amp;lt;/span&amp;gt;&lt;br /&gt;
|- style=&amp;quot;background-color:#ffffff;border:0.5pt solid #000000;padding:0.106cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;[Terminal]&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Type cd project_flask &amp;amp; Press Enter&amp;lt;/div&amp;gt;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;Now go to the folder &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''project underscore flask'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;which we created earlier using &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''cd'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''command.'''&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:0.5pt solid #000000;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;&amp;quot; | &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;[Terminal]&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;$ . flask_venv/bin/activate&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;[Enter]&amp;lt;/div&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-top:0.5pt solid #000000;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;&amp;quot; | &amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;And activate our &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''virtualenv'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Type&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''dot space flask_venv slash bin slash activate'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;And press &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''Enter'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:1pt solid #000000;border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:0.5pt solid #000000;padding-top:0.176cm;padding-bottom:0.176cm;padding-left:0.095cm;padding-right:0.176cm;color:#000000;&amp;quot; | Only narration&lt;br /&gt;
| style=&amp;quot;border-top:1pt solid #000000;border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:0.5pt solid #000000;padding-top:0.176cm;padding-bottom:0.176cm;padding-left:0.095cm;padding-right:0.176cm;&amp;quot; | &amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;Here onwards, please remember to press the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''Enter'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;key after typing each &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''command'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:0.5pt solid #000000;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;&amp;quot; | &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;[Terminal]&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Type&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;$ atom hello_flask.py&amp;lt;/div&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-top:0.5pt solid #000000;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;&amp;quot; | &amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;Let’s open the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''hello_flask.py'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;file which we created earlier in this series, in any &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''text editor'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;[Text Editor] hello_flask.py&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Highlight HTML part in my_form().&amp;lt;/div&amp;gt;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;Observe that the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''my_form() function'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;returns &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''raw HTML'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;Now we will demonstrate how we can avoid returning raw &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''HTML'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''code'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;For that we have to create our &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''HTML template'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;files in a separate folder called &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''templates'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;[Terminal]&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;mkdir templates [Enter]&amp;lt;/div&amp;gt;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;Switch to the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''terminal.&amp;amp;nbsp;'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;And let’s create a &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''folder'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;named &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''templates.'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;Type &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''mkdir &amp;lt;space&amp;gt; templates'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| &lt;br /&gt;
[Editor: sample_template.html] &lt;br /&gt;
Type&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&lt;br /&gt;
&amp;lt;!DOCTYPE html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;head&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;title&amp;gt;Hello&amp;lt;/title&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/head&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;body&amp;gt;&lt;br /&gt;
	&amp;lt;h1&amp;gt;The firstname value is Spoken&amp;lt;/h1&amp;gt;&lt;br /&gt;
&amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;Let us write a simple &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''HTML'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;code to print the first name in a new file &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''sample_template.html&amp;amp;nbsp;'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Type the code as shown here.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | Press Ctrl + S&lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | And save the file.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | Only Narration&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;Now let us render this &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''HTML'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;file via &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''python flask app'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;.&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;For this demonstration, let us define a new &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''route'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;in &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;our &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''hello_flask'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;file.&amp;lt;/span&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;Switch to &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''hello_flask.py'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;in the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''text editor'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;Switch to the file &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''hello_flask.py'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;in the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''text editor'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;[Editor: hello_flask.py]&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;@app.route('/template')&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;def template_ex():&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;return render_template('sample_template.html')&amp;lt;/span&amp;gt;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;In the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''hello_flask.py'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;file, before the last&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''if condition'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;, type the code as shown here.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | Highlight: render_template('sample_template.html')&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;Inside this &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''route'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;we have used the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''function render_template'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;provided by &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''Flask'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;This &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''function'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;is used to render an &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''HTML'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''template file'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;Here we pass &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''sample_template.html'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;as an &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''argument'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;to the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''render_template function'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;So, &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''Flask'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;will look for the file &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''sample_template dot html'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;inside the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''templates folder'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;[Text Editor] Add , render_template&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;from flask import Flask, request, render_template&amp;lt;/div&amp;gt;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;In the 1st line, we will import the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''method render_template.'''&amp;lt;/span&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | Press Ctrl + S keys&lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | And then save the file&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | [Terminal]&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;Now switch to the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''terminal'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;[Terminal]&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Type&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;$ export FLASK_APP=hello_flask.py&amp;lt;/div&amp;gt;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;And type&amp;amp;nbsp; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''export &amp;lt;space&amp;gt; FLASK_APP &amp;lt;equal to &amp;gt; hello underscore flask dot py'''&amp;lt;/span&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;[Terminal]&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Type $ python3 -m flask run [Enter]&amp;lt;/div&amp;gt;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;Now run the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''server.'''&amp;lt;/span&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;[Firefox]&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;Type &amp;lt;/span&amp;gt;[http://127.0.0.1:5000/ http://127.0.0.1:5000/]&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;template&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;And press Enter.&amp;lt;/div&amp;gt;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;Then, open a &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''web browser'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;and in the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''address bar'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;, type&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''http://127.0.0.1:5000/template'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;And press &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''Enter'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | [Firefox] Highlight the text.&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;We got the output of the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''HTML page'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;So we have rendered the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''HTML code'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;without hardcoding it inside the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''python'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;file.&amp;lt;/span&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | Only narration&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;Now switch to the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''hello_flask.py'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;file&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;We can pass the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''variables'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;as a parameter to the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''render_template method.'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Let us see how we can do this.&amp;lt;/div&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;def template_ex():&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;fname = 'Tutorial'&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;return render_template('sample_template.html', firstname = fname)&amp;lt;/div&amp;gt;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;Update the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''template_ex method'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;as shown here.&amp;lt;/span&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | [Text Editor] highlight fname = ‘Tutorial’&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;I have declared a &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''variable'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;called &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''fname'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;here and assigned the value &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''Tutorial'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;to it.&amp;lt;/span&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;[Text Editor] Highlight&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;return render_template('sample_template.html', firstname = fname)&amp;lt;/span&amp;gt;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;Then I have passed this &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''variable fname'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;to the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''render_template'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''method'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;Now the value of the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''variable fname'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;can be accessed via the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''variable firstname'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;in the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''HTML'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;file.&amp;lt;/span&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | Press Ctrl + S keys&lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | Let’s save the file.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;[Text Editor]&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;In sample_template.html&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Highlight Spoken&amp;lt;/div&amp;gt;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;And switch to &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''sample_template.html'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;file.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;Here, we have explicitly mentioned &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''Spoken '''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;as&amp;amp;nbsp; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''firstname'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;We will use &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''jinja'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;to interact the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''HTML'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;file with the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''python'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;file.&amp;lt;/span&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''Slide 9'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;: &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''Jinja'''&amp;lt;/span&amp;gt;&lt;br /&gt;
|| * &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;'''Jinja'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt; is a powerful &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;'''templating'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;'''language'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;It allows generating &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;'''HTML'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt; on the fly based on the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;'''request'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;It supports &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;'''control structures'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt; such as &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;'''if-&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;statements'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt; and &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;'''for-loops'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;Most importantly, it enables &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;'''inheritance'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt; of &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;'''HTML'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt; code.&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Modify the body as&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;&amp;lt;h1&amp;gt;The firstname value is {{ firstname }}&amp;lt;/h1&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;(&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''within double curly braces firstname'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;)&amp;lt;/span&amp;gt;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;Switch to &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''sample_template.html'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;file.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;To access a &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''variable'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;in &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''Jinja,'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;we have to write it within &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''double'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''curly braces'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;So replace the word &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''Spoken '''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;with &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''within-double curly braces, firstname.'''&amp;lt;/span&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | Press Ctrl + S&lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | Save the file.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;[Terminal]&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Type&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;$ python3 -m flask run&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;[Enter]&amp;lt;/div&amp;gt;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;And switch to the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''terminal'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;Stop the running &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''server '''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;and &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''start'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''server'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;once again, by typing this &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''command'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Type&amp;amp;nbsp;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://127.0.0.1:5000/ http://127.0.0.1:5000/template]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;And press Enter.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;Highlight &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''Tutorial'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;Then switch to the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''browser'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;and refresh the page.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;Observe that, we get &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''Tutorial'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;.&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;That means we have successfully passed the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''variable'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;from &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''python'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;to &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''HTML'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;[Text Editor] hello_flask.py&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;&amp;amp;nbsp;def my_form():&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;if request.method == 'POST':&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;firstname = request.form.get('firstname')&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;lastname = request.form.get('lastname')&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;return render_template('form1.html', fname=firstname, lname=lastname)&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;return render_template('form2.html')&amp;lt;/div&amp;gt;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;Once again, switch to the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''hello_flask.py'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;file and update the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''form'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''route'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;as shown.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;Press &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''Ctrl + S'''&amp;lt;/span&amp;gt;&lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | Save this file.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | Only narration&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;Now we have to create two &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''HTML'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;files &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''form1.html'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;and &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''form2.html'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Terminal&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Press Ctrl + C&amp;lt;/div&amp;gt;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;Switch to the terminal and stop the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''server'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;[Terminal]&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;atom templates/form1.html templates/form2.html&amp;amp;nbsp; [Enter]&amp;lt;/div&amp;gt;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;Now open &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''form1.html '''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;and &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''form2.html'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;in a &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''text editor'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;[Text Editor] Show&amp;amp;nbsp; form1.html&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt;&amp;lt;!DOCTYPE html&amp;gt;&amp;lt;html&amp;gt;&amp;lt;head&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt;&amp;amp;nbsp; &amp;amp;nbsp; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt;&amp;lt;title&amp;gt;Hello&amp;lt;/title&amp;gt;&amp;lt;/head&amp;gt;&amp;lt;body&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt;&amp;amp;nbsp; &amp;amp;nbsp; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt;&amp;lt;h1&amp;gt;The firstname value is: {{ fname }}&amp;lt;/h1&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt;&amp;amp;nbsp; &amp;amp;nbsp; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt;&amp;lt;h1&amp;gt;The lastname value is: {{ lname }}&amp;lt;/h1&amp;gt;&amp;lt;/body&amp;gt;&amp;lt;/html&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;In &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''form1.html,'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;add the following piece of code.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;This code will simply display the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''firstname'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;and &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''lastname'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;Press &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''Ctrl + S'''&amp;lt;/span&amp;gt;&lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | Save the file.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;[Text Editor] Show form2.html&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt;&amp;lt;!DOCTYPE html&amp;gt;&amp;lt;html&amp;gt;&amp;lt;head&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt;&amp;amp;nbsp; &amp;amp;nbsp; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt;&amp;lt;title&amp;gt;Hello&amp;lt;/title&amp;gt;&amp;lt;/head&amp;gt;&amp;lt;body&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt;&amp;amp;nbsp; &amp;amp;nbsp; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt;&amp;lt;form method=&amp;quot;POST&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt;&amp;amp;nbsp; &amp;amp;nbsp; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt;Firstname: &amp;lt;input type=&amp;quot;text&amp;quot; name=&amp;quot;firstname&amp;quot;&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt;&amp;amp;nbsp; &amp;amp;nbsp; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt;Lastname: &amp;lt;input type=&amp;quot;text&amp;quot; name=&amp;quot;lastname&amp;quot;&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt;&amp;amp;nbsp; &amp;amp;nbsp; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt;&amp;lt;input type=&amp;quot;submit&amp;quot; value=&amp;quot;Submit&amp;quot;&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt;&amp;amp;nbsp; &amp;amp;nbsp; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt;&amp;amp;nbsp; &amp;amp;nbsp; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt;&amp;lt;/form&amp;gt;&amp;lt;/body&amp;gt;&amp;lt;/html&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;In &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''form2.html'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;, add the following piece of code.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;This code will&amp;amp;nbsp; display a form to receive &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''firstname'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;and &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''lastname'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;Press &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''Ctrl + S'''&amp;lt;/span&amp;gt;&lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | Again, save the file.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;[Terminal]&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Type python3 -m flask run&amp;lt;/div&amp;gt;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;Switch to the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''terminal'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;And run the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''server '''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;again.&amp;lt;/span&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;[Browser]&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Type&amp;amp;nbsp;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://127.0.0.1:5000/ http://127.0.0.1:5000/form]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;And press Enter.&amp;lt;/div&amp;gt;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;Then switch to the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''browser'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;And in the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''address bar'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;, replace &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''template'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;with &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''form'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;and press &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''Enter'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;[Browser]&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Firstname : Spoken&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Lastname: Tutorial [Submit]&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;Enter the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''first name'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;as &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''Spoken.'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;And &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''last name'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;as &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''Tutorial.'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;Then click on the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''Submit '''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;button.&amp;lt;/span&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | [Browser] Highlight the text on screen.&lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | We got the output as desired.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;[Terminal]&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;Press &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''Ctrl + C'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;Type &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''deactivate'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;and press &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''Enter'''&amp;lt;/span&amp;gt;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;Switch back to the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''terminal'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;Let’s stop the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''server'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;And &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''deactivate'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;the&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''virtual environment'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | Only narration&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;This brings us to an end of this tutorial.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Let us summarise.&amp;lt;/div&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;Slide 8: &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''Summary'''&amp;lt;/span&amp;gt;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;In this tutorial, we learnt about-&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/div&amp;gt;* &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;'''Templating'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt; in &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;'''flask'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt; to write clean code.&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;Using &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;'''variables'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt; in the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;'''jinja2 templating language.'''&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;The &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;'''View'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt; part of &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;'''MVC'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:1pt solid #000000;border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:0.5pt solid #000000;padding-top:0.176cm;padding-bottom:0.176cm;padding-left:0.079cm;padding-right:0.176cm;&amp;quot; | &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Slide: About Spoken Tutorial project&amp;lt;/div&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-top:1pt solid #000000;border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:0.5pt solid #000000;padding-top:0.176cm;padding-bottom:0.176cm;padding-left:0.079cm;padding-right:0.176cm;&amp;quot; | &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;The video at the following link summarises the Spoken Tutorial project.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Please download and watch it.&amp;lt;/div&amp;gt;&lt;br /&gt;
|- style=&amp;quot;background-color:#ffffff;border:0.5pt solid #000000;padding-top:0.176cm;padding-bottom:0.176cm;padding-left:0.095cm;padding-right:0.176cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Slide:&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Spoken Tutorial workshops&amp;lt;/div&amp;gt;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt;The&amp;amp;nbsp;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt;'''Spoken Tutorial Project'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt;team &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;conducts workshops and gives certificates.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;For more details, please write to us.&amp;lt;/div&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:0.5pt solid #000000;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;color:#000000;&amp;quot; | Slide: Forum for specific questions:&lt;br /&gt;
| style=&amp;quot;border-top:0.5pt solid #000000;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;color:#000000;&amp;quot; | Please post your timed queries in this forum.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background-color:#ffffff;border-top:1pt solid #000000;border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:0.5pt solid #000000;padding-top:0.176cm;padding-bottom:0.176cm;padding-left:0.095cm;padding-right:0.176cm;color:#000000;&amp;quot; | Slide: Acknowledgement&lt;br /&gt;
| style=&amp;quot;border-top:1pt solid #000000;border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:0.5pt solid #000000;padding-top:0.176cm;padding-bottom:0.176cm;padding-left:0.095cm;padding-right:0.176cm;&amp;quot; | &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Spoken Tutorial Project is funded by NMEICT, MHRD, Government of India.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;More information on this mission is available at this link.&amp;lt;/div&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:0.5pt solid #000000;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;&amp;quot; | &lt;br /&gt;
| style=&amp;quot;border-top:0.5pt solid #000000;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;&amp;quot; | &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;This is Siddhartha Sarkar signing off.&amp;amp;nbsp;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Thanks for watching.&amp;lt;/div&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>SiddharthaSarkar</name></author>	</entry>

	<entry>
		<id>https://script.spoken-tutorial.org/index.php/Python-Flask/C2/Request-Response-Cycle-in-a-Flask-Web-App/English</id>
		<title>Python-Flask/C2/Request-Response-Cycle-in-a-Flask-Web-App/English</title>
		<link rel="alternate" type="text/html" href="https://script.spoken-tutorial.org/index.php/Python-Flask/C2/Request-Response-Cycle-in-a-Flask-Web-App/English"/>
				<updated>2019-01-21T11:59:20Z</updated>
		
		<summary type="html">&lt;p&gt;SiddharthaSarkar: Script synced with video.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Title of script: The Request-Response Cycle in a Flask web app'''&lt;br /&gt;
&lt;br /&gt;
'''Author: Siddhartha Sarkar'''&lt;br /&gt;
&lt;br /&gt;
Keywords: ​Video tutorial, Python Flask, view functions, request object, HTTP response, debugging.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;border-spacing:0;width:17.489cm;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
| align=center| '''Visual Cue'''&lt;br /&gt;
| align=center| '''Narration'''&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| '''Slide 1: The Request-Response Cycle in a Flask web app'''&lt;br /&gt;
|| Welcome to the Spoken Tutorial on''' the request-response cycle in a Flask web app.'''&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| '''Slide 2: Learning Objectives'''&lt;br /&gt;
|| In this tutorial, we will learn&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;About the '''request-response''' cycle in '''Flask'''.&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Different '''attributes''' of the '''request object'''.&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Different '''types''' of '''request data'''.&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Several '''HTTP''' '''response codes'''.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| '''Slides 3: System Requirements'''&lt;br /&gt;
|| To record this tutorial, I’m using&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;'''Ubuntu Linux 16.04''' '''OS'''&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;'''Python''' '''3.5.2'''&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;'''Atom text editor 1.22.1 '''and''' '''&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;'''Firefox web browser'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You can use any text editor and web browser of your choice.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| '''Slide 5:'''&lt;br /&gt;
&lt;br /&gt;
'''Pre-requisites'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|| To follow this tutorial, you should have working knowledge of* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;'''Linux commands'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;'''Python programming '''and &amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;'''HTML '''syntax&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If not, then please go through the corresponding tutorials on this website. http://spoken-tutorial.org&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| '''Slide 6''': '''The request object'''&lt;br /&gt;
|| We already said that the '''Flask app''' instance has to process the received '''request'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For processing, the '''app '''instance needs to have access to certain information.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| '''Slide 6''': '''The request object'''&lt;br /&gt;
|| A few '''objects '''are provided to the '''view functions,''' where the processing takes place.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
One of these '''objects '''is the '''request object'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This '''object '''encapsulates the contents of the '''HTTP request '''sent by the '''client'''.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| '''Slide 7''': '''The request object'''&lt;br /&gt;
|| The incoming '''request '''data can be of several forms. For example&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;'''Query arguments''' sent as part of the '''URL '''in the '''browser'''.&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;'''Form data''' collected from '''web forms.'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We will discuss them in detail in this tutorial.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background-color:#ffffff;border-top:1pt solid #000000;border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.095cm;padding-right:0.191cm;&amp;quot; | Open a Terminal window&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;background-color:#ffffff;border-top:1pt solid #000000;border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.095cm;padding-right:0.191cm;&amp;quot; | Let us open the '''Terminal''' by pressing '''Ctrl''', '''Alt''' and '''T''' keys simultaneously on the keyboard.&lt;br /&gt;
|- style=&amp;quot;background-color:#ffffff;border:0.5pt solid #000000;padding:0.106cm;&amp;quot;&lt;br /&gt;
|| [Terminal]&lt;br /&gt;
&lt;br /&gt;
Type cd project_flask &amp;amp; Press Enter&lt;br /&gt;
|| Now go to the folder '''project underscore flask''' which we created earlier using '''cd''' '''command.'''&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| [Terminal]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
$ . flask_venv/bin/activate&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[Enter]&lt;br /&gt;
|| Let us activate our '''virtualenv'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Type the command&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Dot space flask_venv slash bin slash activate'''&lt;br /&gt;
&lt;br /&gt;
And press '''Enter'''.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| [Terminal]&lt;br /&gt;
&lt;br /&gt;
Highlight (flask_venv)&lt;br /&gt;
|| Notice that we are now inside the '''virtual environment flask_venv.'''&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| [Terminal]&lt;br /&gt;
&lt;br /&gt;
Type&lt;br /&gt;
&lt;br /&gt;
$ atom hello_flask.py&lt;br /&gt;
|| Let’s open the '''hello_flask.py''' file in a text editor, which we created earlier in this series..&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| [Text Editor]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Type “'', request''”&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|| Let’s look at how the '''request object''' is made available in a '''view function'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We will import the '''request object''' from the '''flask library.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In the line '''from flask import Flask, '''we will add '''comma space request'''&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| [Text editor]&lt;br /&gt;
&lt;br /&gt;
Type in hello_world():&lt;br /&gt;
&lt;br /&gt;
(As the first line)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
print(&amp;quot;Request method is &amp;quot; + request.method)&lt;br /&gt;
|| The '''request object''' has many '''attributes'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Let us access '''request''' inside the '''hello_world view function.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Next to the '''function''' definition, type the code as shown.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Highlight &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
print(&amp;quot;Request method is &amp;quot; + request.method)&lt;br /&gt;
|| This will print the '''method attribute''' of the '''request object.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Press Ctrl+S&lt;br /&gt;
|| Save the file.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| [Terminal]&lt;br /&gt;
&lt;br /&gt;
Type &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
$ export FLASK_APP=hello_flask.py&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|| Let us start the '''server''' to see the changes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Switch to the terminal.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Type '''export &amp;lt;space&amp;gt; FLASK_APP &amp;lt;equal to &amp;gt; hello underscore flask dot py'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
And press '''Enter'''.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| [Terminal]&lt;br /&gt;
&lt;br /&gt;
Type&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
$ python3 -m flask run&lt;br /&gt;
&lt;br /&gt;
[Enter]&lt;br /&gt;
|| Now type&lt;br /&gt;
&lt;br /&gt;
'''python3 &amp;lt;space&amp;gt; hyphen m &amp;lt;space&amp;gt; flask &amp;lt;space&amp;gt; run'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
And press '''Enter'''.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| [Firefox]&lt;br /&gt;
&lt;br /&gt;
Type &lt;br /&gt;
&lt;br /&gt;
[http://127.0.0.1:5000/ http://localhost:5000/]&lt;br /&gt;
&lt;br /&gt;
And press Enter.&lt;br /&gt;
|| Now, open a web browser.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In the '''address bar,''' type [http://127.0.0.1:5000/ http://localhost:5000] and press '''Enter'''.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Highlight the output&lt;br /&gt;
|| We got the output as '''Hello World.'''&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| [Terminal]&lt;br /&gt;
|| Switch to the '''terminal '''once again.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Highlight “Request method is Get”&lt;br /&gt;
|| Observe that the current '''request method '''is “'''GET'''”.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The '''request object''' is indeed accessible inside the '''view functions'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The '''GET HTTP method''' is used to retrieve '''data''' from the '''web server'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
It specifies the '''parameters''' in the '''URL''' of the '''request '''itself.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Only narration.&lt;br /&gt;
|| Now let us see how one can send '''data''' to the '''server '''using the '''request object'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
There are a number of ways to do this.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The simplest one is via '''Query Arguments'''.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| [Text Editor]&lt;br /&gt;
&lt;br /&gt;
Type&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
@app.route('/query')&lt;br /&gt;
&lt;br /&gt;
def query_args():&lt;br /&gt;
&lt;br /&gt;
(Tab)framework = request.args['framework']&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;(Tab)return '''&amp;lt;h1&amp;gt;The framework value is: {}&amp;lt;/h1&amp;gt;'''.format(framework)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|| Let us define a new '''route''' to explain this. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Switch back to the '''editor'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Before the '''if condition''', type the code as shown here.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We will call it as '''query'''.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Press Ctrl+S&lt;br /&gt;
|| Save the file.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Highlight &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&amp;lt;h1&amp;gt;The framework value is: {}&amp;lt;/h1&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|| Here we have written the '''statement''' inside the '''HTML’s h1 heading tag'''. &lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Highlight '''args''' in&lt;br /&gt;
&lt;br /&gt;
'''framework = request.args['framework']'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|| Here we have an '''attribute''' called '''args''' in the '''request object'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This is a '''dictionary object'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
It has the '''parsed''' contents of the '''query string '''in the '''URL'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We will use this '''attribute '''to retrieve the '''data '''sent as '''query arguments.'''&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| [Terminal]&lt;br /&gt;
|| Switch to the '''terminal'''.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Press Ctrl+C&lt;br /&gt;
|| Press '''Ctrl''' and '''C''' keys to stop the '''server'''.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Type&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
$ python3 -m flask run [Enter]&lt;br /&gt;
|| Press the '''up arrow''' key to get the '''command''' to run the '''flask application.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
And press '''Enter'''.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| [Firefox]&lt;br /&gt;
|| Switch to the '''web browser. '''&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Type &lt;br /&gt;
&lt;br /&gt;
[http://127.0.0.1:5000/ http://localhost:5000/query]&lt;br /&gt;
&lt;br /&gt;
And press Enter.&lt;br /&gt;
|| In the '''address bar''', next to '''5000''' type '''slash query'''&lt;br /&gt;
&lt;br /&gt;
and press '''Enter'''.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Highlight the error&lt;br /&gt;
|| We get a “'''Bad request'''” error.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| [Terminal]&lt;br /&gt;
|| Switch back to the '''terminal'''.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Highlight&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;quot;GET /query HTTP/1.1&amp;quot; 400 -&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|| Notice that this '''response '''has '''HTTP code 400'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This is one of the common errors you will encounter while developing '''Flask applications'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''400 code''' indicates that the '''server''' could not understand the '''request''' due to invalid '''syntax'''.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Only narration.&lt;br /&gt;
|| So now we have to find out where this '''syntax''' issue has occurred.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We will scan the code to spot the error.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This is called '''debugging'''.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| [Text Editor]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Press Ctrl+C&lt;br /&gt;
&lt;br /&gt;
|| For this, we have to start the '''server''' in the '''debug mode'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Before that, we need to stop the current '''server''' by pressing '''Ctrl''' and '''C '''keys together.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| [Terminal]&lt;br /&gt;
&lt;br /&gt;
Type &lt;br /&gt;
&lt;br /&gt;
$ export FLASK_ENV=development&lt;br /&gt;
|| Then type '''export &amp;lt;space&amp;gt;FLASK &amp;lt;underscore&amp;gt; ENV &amp;lt;equal to&amp;gt; development'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
and press '''Enter'''.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| [Terminal]&lt;br /&gt;
&lt;br /&gt;
Type&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
$ python3 -m flask run&lt;br /&gt;
|| Now type&lt;br /&gt;
&lt;br /&gt;
'''python3&amp;lt;space&amp;gt;(hyphen)m&amp;lt;space&amp;gt;flask&amp;lt;space&amp;gt;run'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
And press '''Enter'''.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| [Terminal]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Highlight'' Debug mode: on''&lt;br /&gt;
|| Observe that now it says '''debug mode''' is '''on'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| [Firefox]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Click on the refresh button.&lt;br /&gt;
|| Go back to the '''browser''' and '''refresh''' the page.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Since the '''debug mode''' is active, we have received a '''traceback''' of errors.&lt;br /&gt;
&lt;br /&gt;
This means that we get the line numbers where the errors have occurred in different files.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Highlight the different error lines in the traceback of errors.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|| The '''traceback''' includes the errors from the corresponding '''flask''' files as well.&lt;br /&gt;
&lt;br /&gt;
This is because an error in one file causes errors in other files as well.&lt;br /&gt;
&lt;br /&gt;
This is termed as the '''cascading''' '''effect'''.&lt;br /&gt;
&lt;br /&gt;
We have to look for the error in a file that we have written.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Highlight&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
framework = request.args['framework']&lt;br /&gt;
|| Scroll down and search for the error in the file '''hello_flask.py'''&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Highlight&lt;br /&gt;
&lt;br /&gt;
BadRequestKeyError&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|| We have a '''BadRequestKeyError'''.&lt;br /&gt;
&lt;br /&gt;
That means that the '''key “framework”''' for the '''dictionary request.args''' does not exist.&lt;br /&gt;
&lt;br /&gt;
To rectify this, we have to modify that line.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| [Text editor]&lt;br /&gt;
&lt;br /&gt;
Type&lt;br /&gt;
&lt;br /&gt;
framework = request.args.get('framework')&lt;br /&gt;
|| Switch to the '''editor'''.&lt;br /&gt;
&lt;br /&gt;
Now change the '''line '''as shown.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Press Ctrl+S&lt;br /&gt;
|| Save the file.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| [Text Editor]&lt;br /&gt;
&lt;br /&gt;
Highlight&lt;br /&gt;
&lt;br /&gt;
framework = request.args.get('framework')&lt;br /&gt;
|| Now even if the '''key''' is not found, '''python''' will handle this properly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
That means, instead of causing a '''400 error''', it will return '''None'''.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| [Terminal]&lt;br /&gt;
|| Switch to the '''terminal.'''&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Press Ctrl+C&lt;br /&gt;
|| Once again stop the '''server''' by pressing '''Ctrl''' and '''C''' keys together.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Type python3 -m flask run&lt;br /&gt;
|| Then run the '''server''' again.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| [Firefox]&lt;br /&gt;
|| Go back to the '''browser''' and refresh the page.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Click on the refresh button.&lt;br /&gt;
|| Now we have the output as expected. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The '''framework value''' is '''None'''.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| &lt;br /&gt;
|| Next, we will send some value for the '''framework '''via the '''URL'''.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| [Firefox]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Click on the address bar&lt;br /&gt;
|| '''args''' gets the part of the '''URL '''after the question mark in the form of a '''python dictionary'''.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| [Firefox]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Type [http://127.0.0.1:5000/query?framework=my_flask http://127.0.0.1:5000/query?framework=my_flask]&lt;br /&gt;
|| In the '''address bar,''' next to the word '''query''' type:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Question mark framework &amp;lt;equal to&amp;gt; my_flask'''&lt;br /&gt;
&lt;br /&gt;
And press '''Enter.'''&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Highlight:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;The framework value is: my_flask&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|| So now we have the '''framework attribute''' of the '''dictionary''' set to '''my_flask'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We got the result as expected.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| '''Slide 8''': '''form attribute'''&lt;br /&gt;
|| The '''request object''' has one more important '''attribute''' called '''‘form’'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
It can be used to collect '''data''' from the '''user''' using a '''web form'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
And then store the '''data '''as a '''dictionary '''in the '''form attribute'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Let us look at an example.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| [Text Editor]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Type&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
@app.route('/form', methods=['GET', 'POST']) &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|| We will see how '''form data''' can be sent and received using the '''request object.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Let us define a new '''route''' called '''form'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We allow both '''GET''' and '''POST''' as possible '''request''' '''methods'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Type the code as shown here.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| [Text Editor]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Type&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def my_form():&lt;br /&gt;
&lt;br /&gt;
if request.method == 'POST':&lt;br /&gt;
&lt;br /&gt;
firstname = request.form.get('firstname')&lt;br /&gt;
&lt;br /&gt;
lastname = request.form.get('lastname')&lt;br /&gt;
|| Inside the '''form route''', define a '''view function''' '''my_form'''()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Highlight:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
if request.method == 'POST':&lt;br /&gt;
&lt;br /&gt;
firstname = request.form.get('firstname')&lt;br /&gt;
&lt;br /&gt;
lastname = request.form.get('lastname')&lt;br /&gt;
|| &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This '''block''' will get executed, if the '''request''' is via '''POST method.'''&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| '''Slide 9''': '''POST method'''&lt;br /&gt;
|| In '''POST request method'''&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;the '''client''' will send '''data''' to the '''server''' using the '''form'''.&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;This is to update the '''server''' with some information&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| '''Slide 9''': '''POST method'''&lt;br /&gt;
|| &lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;For example - you enter your '''username''' and '''password''' while logging in to a website.&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;In contrast, '''GET request method '''is used to get or read some '''data '''from the '''server'''.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Only narration &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|| Now let us store the '''form''' values into some '''variables'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We will obtain the entered values from the '''request object''' using the '''form''' '''attribute'''.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Type&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;html_string1 = '''&amp;lt;h1&amp;gt;The firstname value is: {}&amp;lt;/h1&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&amp;lt;h1&amp;gt;The lastname value is: {}&amp;lt;/h1&amp;gt;'''.format(firstname, lastname)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
return html_string1&lt;br /&gt;
|| Inside the '''if condition''' which checks the''' post method, '''type this code.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This code will display the '''firstname''' as well as the '''lastname'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| [Text Editor]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Type&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
html_string2 = '''&amp;lt;form method=&amp;quot;POST&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Firstname: &amp;lt;input type=&amp;quot;text&amp;quot; name=&amp;quot;firstname&amp;quot;&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lastname: &amp;lt;input type=&amp;quot;text&amp;quot; name=&amp;quot;lastname&amp;quot;&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;input type=&amp;quot;submit&amp;quot; value=&amp;quot;Submit&amp;quot;&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/form&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
return html_string2&lt;br /&gt;
|| Now outside this''' if condition''', we type this code.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This will simply display a '''web form''' in the output, if the '''request method''' is '''GET.'''&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Press Ctrl + S&lt;br /&gt;
|| Save the file.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| [Terminal]&lt;br /&gt;
|| Switch back to the '''terminal'''.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Press Ctrl+C&lt;br /&gt;
|| Stop the '''server''' by pressing '''Ctrl''' and '''C''' keys together.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Type python3 -m flask run&lt;br /&gt;
|| Then run the '''server''' again.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| [Firefox]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Type [http://127.0.0.1:5000/form http://127.0.0.1:5000/form]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|| Switch to the '''browser'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In the '''address bar''' type the '''URL''' as '''http://localhost:5000/form''' and press '''Enter.'''&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| &lt;br /&gt;
|| The page is displayed with a '''form'''.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| &lt;br /&gt;
|| Let us enter some values in the '''form'''.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Type '''First name''' as '''Spoken.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Last name '''as''' Tutorial'''&lt;br /&gt;
|| I will type the '''First name''' as '''Spoken.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Last name '''as''' Tutorial.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
And then click on '''Submit '''button''' '''located at the bottom of the''' web form.'''&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| [Firefox]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Highlight&lt;br /&gt;
&lt;br /&gt;
The text in the browser&lt;br /&gt;
|| Here we have received the '''firstname''' and '''lastname''' from the '''request object'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| [Text Editor]&lt;br /&gt;
|| The last thing I want to talk in this section is about “'''500: Internal Server Error'''”.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This is one of the most frequent errors you will encounter during '''flask''' '''app''' development.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| &lt;br /&gt;
|| Let us write a '''code snippet''' to demonstrate this.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| [Text Editor]&lt;br /&gt;
|| Switch back to the '''editor'''.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Type inside user(name):&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
a = 10/0&lt;br /&gt;
|| In the '''user view function''', before the''' return statement''' type&lt;br /&gt;
&lt;br /&gt;
'''a &amp;lt;equal to&amp;gt; 10 slash zero'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
As we are dividing 10 by zero, we should get an error.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Save the file.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| [Terminal]&lt;br /&gt;
|| Switch to the '''terminal.'''&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Press Ctrl+C&lt;br /&gt;
|| Stop the '''server''' by pressing '''Ctrl''' and '''C''' keys together.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Type python3 -m flask run&lt;br /&gt;
|| Now run the '''server''' again.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| [Firefox]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Type http://localhost:5000/user/Sid&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|| Switch to the '''browser'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In the '''address bar''' type the '''URL''' as '''http://localhost:5000/user/Sid''' and press '''Enter'''&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| [Firefox]&lt;br /&gt;
|| Observe that we have a '''ZeroDivisionError'''.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Highlight star&lt;br /&gt;
|| Let’s switch to the '''terminal''' to see the '''HTTP status code'''.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot; | [Terminal]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Highlight&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;quot;GET /user/error HTTP/1.1&amp;quot; 500&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;border-top:1pt solid #000000;border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.095cm;padding-right:0.191cm;&amp;quot; | Here we can see '''HTTP response code''' as '''500.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Which means we have encountered an '''internal server error'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The '''500''' error simply implies that, there’s something wrong in the '''web server'''.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot; | &lt;br /&gt;
| style=&amp;quot;border-top:1pt solid #000000;border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.095cm;padding-right:0.191cm;&amp;quot; | Since we have the '''debug mode '''on, we know the specific reason for the error.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot; | &lt;br /&gt;
| style=&amp;quot;border-top:1pt solid #000000;border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.095cm;padding-right:0.191cm;&amp;quot; | With this we come to the end of this tutorial.&lt;br /&gt;
&lt;br /&gt;
Let us summarise.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Slide 10: Summary&lt;br /&gt;
|| In this tutorial, we learnt about,&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;The '''request-response''' cycle in '''Flask'''.&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Different '''attributes''' of the '''request object.'''&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Different '''types''' of '''request data'''.&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Several '''HTTP''' '''response codes'''.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:1pt solid #000000;border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.079cm;padding-right:0.191cm;&amp;quot; | Slide: About Spoken Tutorial project&lt;br /&gt;
| style=&amp;quot;border-top:1pt solid #000000;border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.079cm;padding-right:0.191cm;&amp;quot; | The video at the following link summarises the Spoken Tutorial project.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Please download and watch it.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background-color:#ffffff;border-top:1pt solid #000000;border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.095cm;padding-right:0.191cm;&amp;quot; | Slide:&lt;br /&gt;
&lt;br /&gt;
Spoken Tutorial workshops&lt;br /&gt;
| style=&amp;quot;background-color:#ffffff;border-top:1pt solid #000000;border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.095cm;padding-right:0.191cm;&amp;quot; | &amp;lt;span style=&amp;quot;background-color:#ffffff;&amp;quot;&amp;gt;The&amp;amp;nbsp;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;&amp;quot;&amp;gt;'''Spoken Tutorial Project'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;&amp;quot;&amp;gt;&amp;amp;nbsp;team &amp;lt;/span&amp;gt;conducts workshops and gives certificates.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For more details, please write to us.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Slide:&lt;br /&gt;
&lt;br /&gt;
Forum for specific questions:&lt;br /&gt;
|| Please post your timed queries in this forum.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background-color:#ffffff;border-top:1pt solid #000000;border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.095cm;padding-right:0.191cm;&amp;quot; | Slide: Acknowledgement&lt;br /&gt;
| style=&amp;quot;border-top:1pt solid #000000;border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.095cm;padding-right:0.191cm;&amp;quot; | Spoken Tutorial Project is funded by NMEICT, MHRD, Government of India.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
More information on this mission is available at this link.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| &lt;br /&gt;
|| This is Siddhartha Sarkar signing off. &lt;br /&gt;
&lt;br /&gt;
Thanks for watching.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>SiddharthaSarkar</name></author>	</entry>

	<entry>
		<id>https://script.spoken-tutorial.org/index.php/Python-Flask/C2/First-Flask-Web-App/English</id>
		<title>Python-Flask/C2/First-Flask-Web-App/English</title>
		<link rel="alternate" type="text/html" href="https://script.spoken-tutorial.org/index.php/Python-Flask/C2/First-Flask-Web-App/English"/>
				<updated>2019-01-21T11:37:24Z</updated>
		
		<summary type="html">&lt;p&gt;SiddharthaSarkar: Script synced with video.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Title of script: First Flask web application'''&lt;br /&gt;
&lt;br /&gt;
'''Author: Siddhartha Sarkar'''&lt;br /&gt;
&lt;br /&gt;
Keywords: ​Video tutorial, Python Flask, Hello World, Routes, View Functions, HTTP protocol.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;border-spacing:0;width:16.695cm;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
| align=center| '''Visual Cue'''&lt;br /&gt;
| align=center| '''Narration'''&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| '''Slide 1: First Flask web app'''&lt;br /&gt;
|| Welcome to the spoken tutorial on''' '''the first '''Flask web application.'''&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| '''Slide 2: Learning Objectives'''&lt;br /&gt;
|| In this tutorial, we will learn&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;To write and analyze our first '''Flask application'''.&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;The concept of '''Routes '''and''' View''' '''functions'''.&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;About '''Dynamic content''' served by dynamic '''URLs'''.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| '''Slides 3: System Requirements'''&lt;br /&gt;
|| To record this tutorial, I’m using&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;'''Ubuntu Linux 16.04''' '''OS'''&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;'''Python''' '''3.5.2'''&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;'''Atom text editor 1.22.1 '''and''' '''&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;'''Firefox web browser'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You can use any text editor and web browser of your choice.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| '''Slide 5:'''&lt;br /&gt;
&lt;br /&gt;
'''Pre-requisites'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|| To follow this tutorial, you should have working knowledge on&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;'''Linux commands''' and&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Basic '''Python programming'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If not, then please go through the corresponding tutorials on this website. http://spoken-tutorial.org&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background-color:#ffffff;border-top:1pt solid #000000;border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.095cm;padding-right:0.191cm;&amp;quot; | Open a Terminal window&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;background-color:#ffffff;border-top:1pt solid #000000;border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.095cm;padding-right:0.191cm;&amp;quot; | Let us open the '''Terminal''' by pressing '''Ctrl''', '''Alt''' and '''T''' keys simultaneously on the keyboard.&lt;br /&gt;
|- style=&amp;quot;background-color:#ffffff;border:0.5pt solid #000000;padding:0.106cm;&amp;quot;&lt;br /&gt;
|| [Terminal]&lt;br /&gt;
&lt;br /&gt;
Type cd project_flask &amp;amp; Press Enter&lt;br /&gt;
|| Now go to the folder '''project underscore flask''' which we created earlier using '''cd''' '''command.'''&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| [Terminal]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
$ . flask_venv/bin/activate&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[Enter]&lt;br /&gt;
|| Let us activate our '''virtualenv'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Type the command&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Dot space flask_venv slash bin slash activate'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
And press '''Enter'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''(dot)''' refers to the present working '''directory'''.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| [Terminal]&lt;br /&gt;
&lt;br /&gt;
Highlight (flask_venv)&lt;br /&gt;
|| Notice that we are now inside the''' virtual environment flask_venv.'''&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Only narration&lt;br /&gt;
|| Open the file '''hello_flask.py '''in a '''text editor'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
I will be using the '''atom text editor '''but you can use your prefered '''text editor.'''&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| [Terminal]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
$ atom hello_flask.py&lt;br /&gt;
|| I will type the command.&lt;br /&gt;
&lt;br /&gt;
'''atom&amp;lt;space&amp;gt; hello underscore flask dot py'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
and press '''Enter.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Now let us understand what the code does, line by line.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| [Text Editor]&lt;br /&gt;
&lt;br /&gt;
Highlight&lt;br /&gt;
&lt;br /&gt;
“from flask import Flask”&lt;br /&gt;
|| The first line is '''from flask import Flask.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
It simply says '''import''' '''Flask''' '''module''' from '''flask''' folder. &lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| [Text Editor]&lt;br /&gt;
&lt;br /&gt;
Point to the left pane of Atom.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Collapse flask_venv-&amp;gt;lib-&amp;gt;python3.5-&amp;gt;site-packages&lt;br /&gt;
&lt;br /&gt;
And hover over flask foder.&lt;br /&gt;
|| Look at the '''directory structure''' &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;If we use atom editor, we can see the folder structure in the left pane. Else we have to show in the file browser. As we will be using atom editor throughout this series, we don't need to switch to the file browser.&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;+pravin1389@gmail.com &amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Can you pls confirm what Siddharth is saying?&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;We are using Atom throughout the course. If they use other editors they will see the same phenomenon in the respective directory where flask gets installed.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;We expect that they will use Atom.&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;This is a problem if learners are using other text editors like gedit, nano, etc.&amp;lt;/span&amp;gt;at the left pane of the '''Atom text editor''' window.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Observe that there is no '''flask''' folder in the '''project'''. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
So how does the '''compiler''' find and import the '''Flask module'''?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Python''' is set to look for '''modules''' in the '''site-packages'''.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Highlight&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
app = Flask(__name__)&lt;br /&gt;
|| In the second line, we have created an '''object''' for the '''flask class.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This '''object''' of the '''Flask class''' is our '''WSGI application.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''WSGI''' stands for '''Web Server Gateway Interface.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We will come to what '''WSGI''' is later.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This takes an '''argument double underscore name double underscore. '''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This '''argument''' basically refers to the name of the file.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In our case it is “'''hello_flask'''”.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Flask''' uses this '''argument''' to determine the '''root path''' of the '''application'''.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| [Text Editor]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Highlight&lt;br /&gt;
&lt;br /&gt;
@app.route('/')&lt;br /&gt;
|| In the next line, the''' route function''' of the '''Flask class''' is a '''decorator.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
It tells the '''application''', which '''URL''' should call the associated '''function'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In this case, '''root slash''' is the '''URL'''. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
It refers to '''home''' or top '''domain'''.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| [Text Editor]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Highlight&lt;br /&gt;
&lt;br /&gt;
@app.route('/')&lt;br /&gt;
|| '''Decorators''' are a standard feature of the '''Python''' language.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
They can modify the behavior of a '''function''' in different ways. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In our case, it is used to associate a '''function''' with a '''URL'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To know more about '''decorators''' you may refer to the '''Python Spoken Tutorial series'''.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| '''Slide 5: Routes (img 1)'''&lt;br /&gt;
|| Let us understand the concept of '''routes''' in detail now.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Look at this diagram.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This shows a simplified '''client''' and '''server''' diagram.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| '''Slide 6: Routes (img 2)'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|| The client sends a '''request''' to the '''web server'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In our case, the '''web browser''' is the '''client'''.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| '''Slide 7: Routes (img 3)'''&lt;br /&gt;
|| Then the '''web server''' has to process the '''request''' and generate a '''response'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
And the '''Flask application '''instance does this job.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The '''web server''' sends the '''request''' to the '''Flask application''' instance.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| '''Slide 8: Routes (img 4)'''&lt;br /&gt;
|| On receiving the '''request''' the '''app''' matches it with the available '''route patterns'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| '''Slide 9: Routes '''&lt;br /&gt;
||&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Thus the '''application''' instance knows which '''function''' to execute for which '''URL'''.&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;This happens because it keeps a mapping of the '''URLs''' to '''functions'''.&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Here we need the concept of '''routes'''.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| '''Slide 9: Routes '''&lt;br /&gt;
|| &lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;The association between a '''URL''' and the '''function''' that handles it, is called a '''route'''.&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;The '''Flask app''' executes the associated '''function''' and returns a '''response'''.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| '''Slide 9: Routes '''&lt;br /&gt;
|| &lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;'''Routes''' can be either '''static''' or '''dynamic'''.&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;In the present case, we have a static '''route'''.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We will discuss '''dynamic routes''' in a moment.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| [Text Editor]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Highlight&lt;br /&gt;
&lt;br /&gt;
def hello_world():&lt;br /&gt;
|| Let’s come back to our '''“hello world” app.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In the next line, we define the associated '''function''' for this '''route'''. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This '''function''' gets executed when the '''root URL''' is hit.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In our case the '''root''' '''URL''' is [http://127.0.0.1:5000/ http://127.0.0.1:5000]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Here, we have named the '''function''' as “'''hello_world'''”.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
However, you may choose any other name of your choice.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This '''function''' associated with a '''route '''is called ‘'''view function'''’.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| [Text Editor]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Highlight&lt;br /&gt;
&lt;br /&gt;
return 'Hello, World!'&lt;br /&gt;
|| The next line says '''return 'Hello, World!''''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
So this '''view function''' simply returns a '''string “Hello World”. '''&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| [Text Editor]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Type&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
if __name__ == '__main__':(Tab) app.run()&lt;br /&gt;
|| Now let us add a few more lines of code at the end.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Line 8 and 9.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| [Text Editor]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Highlight&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
if __name__ == '__main__':(Tab) app.run()&lt;br /&gt;
|| This is a customary common practice.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This ensures that '''server '''is launched only if the '''script''' runs directly from the '''terminal'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Otherwise '''app dot run''' is skipped.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
It may happen that a '''script''' is being called from another '''script'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In that case the imported '''script''' should not start a new '''server'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Hence we follow this practice.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| '''Ctrl+S'''&lt;br /&gt;
|| Let us save the file by pressing '''Ctrl''' and '''S''' keys.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| [Terminal]&lt;br /&gt;
&lt;br /&gt;
Type &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
$ export FLASK_APP=hello_flask.py&lt;br /&gt;
|| Now back in the '''terminal''' and run the''' hello world app.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Type '''export &amp;lt;space&amp;gt; FLASK_APP &amp;lt;equal to &amp;gt; hello underscore flask dot py'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Press '''Enter'''.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| [Terminal]&lt;br /&gt;
&lt;br /&gt;
Type&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
$ python3 -m flask run&lt;br /&gt;
|| Now type&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''python3 &amp;lt;space&amp;gt; hyphen m &amp;lt;space&amp;gt; flask &amp;lt;space&amp;gt; run'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
And press '''Enter'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We can see a message '''“Running on [http://127.0.0.1:5000/ http://127.0.0.1:5000/]”'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Here, '''127.0.0.1''' is the '''IP''' '''address''' for the '''localhost'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Flask app''' is running in the '''local host''' on '''port 5000.'''&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| [Firefox]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Type &lt;br /&gt;
&lt;br /&gt;
[http://127.0.0.1:5000/ http://127.0.0.1:5000/]&lt;br /&gt;
&lt;br /&gt;
And press Enter.&lt;br /&gt;
|| Now, open any '''web browser. '''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In the '''address bar''', type [http://127.0.0.1:5000/ http://127.0.0.1:5000/] and press '''Enter'''.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| [Firefox]&lt;br /&gt;
&lt;br /&gt;
Highlight ‘Hello, World!’&lt;br /&gt;
|| We can see the message ‘'''Hello, World!'''’ written in the browser window. &lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| &lt;br /&gt;
|| Switch back to the '''terminal'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Stop the '''server''' by pressing '''Ctrl''' and '''C '''keys together.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| [Terminal]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
atom hello_flask.py&lt;br /&gt;
|| Now we will write code for a '''dynamic''' '''route''' and also define a '''view function''' called '''hello_user'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Switch to '''the editor window.'''&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Type&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
@app.route('/user/&amp;lt;username&amp;gt;')&lt;br /&gt;
&lt;br /&gt;
def hello_user(username):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;(Tab) return '&amp;lt;h1&amp;gt;Hello, %s!&amp;lt;/h1&amp;gt;' % username &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|| Before the''' if condition''', type the code as shown here.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Highlight&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
@app.route('/user/&amp;lt;username&amp;gt;')&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|| This '''route''' has a '''URL''', '''home/user/&amp;lt;username&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
where '''home''' is the '''root''' '''domain''' '''URL''' of the '''server'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
whereas, '''username''' is a '''variable'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We will use this '''variable '''in the '''view''' '''function''' to change the content in the browser.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Highlight&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def hello_user(username):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;(Tab) return '&amp;lt;h1&amp;gt;Hello, %s!&amp;lt;/h1&amp;gt;' % username &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|| This '''function '''will simply return a string '''‘Hello’''' '''username'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note that the output in the '''browser '''will vary as per the '''username''' in the '''URL'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''h1''' is the level one '''heading tag '''of '''HTML'''.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| &lt;br /&gt;
|| Let us save the file by pressing '''Ctrl''' and '''S''' keys&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Switch back to the terminal.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| [Terminal]&lt;br /&gt;
&lt;br /&gt;
$ python3 -m flask run [Enter]&lt;br /&gt;
|| Run the '''app''' by executing the following command.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| [Firefox]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Type &lt;br /&gt;
&lt;br /&gt;
[http://127.0.0.1:5000/ http://127.0.0.1:5000/]user/Sid &lt;br /&gt;
&lt;br /&gt;
[Enter]&lt;br /&gt;
|| Switch to the '''web browser'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In the''' address bar''', type [http://127.0.0.1:5000/ http://127.0.0.1:5000/]user/Sid &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
and press '''Enter'''.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| [Firefox]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Type &lt;br /&gt;
&lt;br /&gt;
[http://127.0.0.1:5000/ http://127.0.0.1:5000/]user/Tom&lt;br /&gt;
&lt;br /&gt;
[Enter]&lt;br /&gt;
|| We got the output as '''“Hello Sid!”.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Now let’s try '''Tom''' instead of '''Sid'''&lt;br /&gt;
&lt;br /&gt;
In the '''address bar''', replace '''Sid''' with '''Tom.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Press '''Enter'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The output has changed to '''‘Hello Tom!’ '''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We have a dynamic '''URL''' in play here.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Slide 10: Example URL &lt;br /&gt;
|| This is what you may have observed in '''facebook''' as well.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Facebook''' individual '''users''' have a '''URL''' of the type:&lt;br /&gt;
&lt;br /&gt;
[http://www.facebook.com/profile_id www.facebook.com/profile_id]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Here '''profile_id''' refers to the unique '''ID''' of a '''facebook user.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Depending on the unique '''ID, facebook server''' fetches the individual '''profile pages'''.Switch to the '''browser window'''.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| [Firefox]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Type &lt;br /&gt;
&lt;br /&gt;
[http://127.0.0.1:5000/ http://127.0.0.1:5000/]posts&lt;br /&gt;
&lt;br /&gt;
[Enter]&lt;br /&gt;
|| Let’s try a '''URL''' for which we did not define a '''route'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Switch to the '''browser '''window.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Replace '''/user/tom''' with '''posts '''and press '''Enter.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Observe that we got '''Not found''' message.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| [Terminal]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Highlight 404.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Highlight 200’s.&lt;br /&gt;
|| Switch to the '''terminal'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Observe that, the '''server''' has returned a '''404 response code.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This '''error code''' indicates that the web page requested for, does not exist.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Whereas most previous '''response codes''' were '''200'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We will discuss in detail these '''HTTP responses''' in the upcoming tutorials.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background-color:#ffffff;border-top:1pt solid #000000;border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.095cm;padding-right:0.191cm;&amp;quot; | Press Ctrl+c simultaneously &lt;br /&gt;
| style=&amp;quot;background-color:#ffffff;border-top:1pt solid #000000;border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.095cm;padding-right:0.191cm;&amp;quot; | To stop the '''server''', press '''Ctrl''' and '''C''' keys simultaneously.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:1pt solid #000000;border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.095cm;padding-right:0.191cm;&amp;quot; | [Terminal]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Type deactivate and press Enter&lt;br /&gt;
| style=&amp;quot;border-top:1pt solid #000000;border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.095cm;padding-right:0.191cm;&amp;quot; | We will deactivate the '''Virtual Environment.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Type '''deactivate''' and press '''Enter'''.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:1pt solid #000000;border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.095cm;padding-right:0.191cm;&amp;quot; | &lt;br /&gt;
| style=&amp;quot;border-top:1pt solid #000000;border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.095cm;padding-right:0.191cm;&amp;quot; | This brings us to the end of this tutorial.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Let us summarise&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Slide 10: Summary&lt;br /&gt;
|| In this tutorial, we learnt about&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;The working of our first '''Flask application.'''&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;The concepts of '''routes '''and the view '''functions.'''&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Running a '''Flask app '''in a '''Web''' '''browser'''.&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;'''Dynamic content''' served by dynamic '''URLs'''.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:1pt solid #000000;border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.079cm;padding-right:0.191cm;&amp;quot; | Slide: About Spoken Tutorial project&lt;br /&gt;
| style=&amp;quot;border-top:1pt solid #000000;border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.079cm;padding-right:0.191cm;&amp;quot; | The video at the following link summarises the Spoken Tutorial project.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Please download and watch it.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background-color:#ffffff;border-top:1pt solid #000000;border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.095cm;padding-right:0.191cm;&amp;quot; | Slide:&lt;br /&gt;
&lt;br /&gt;
Spoken Tutorial workshops&lt;br /&gt;
| style=&amp;quot;background-color:#ffffff;border-top:1pt solid #000000;border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.095cm;padding-right:0.191cm;&amp;quot; | &amp;lt;span style=&amp;quot;background-color:#ffffff;&amp;quot;&amp;gt;The&amp;amp;nbsp;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;&amp;quot;&amp;gt;'''Spoken Tutorial Project'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;&amp;quot;&amp;gt;&amp;amp;nbsp;team &amp;lt;/span&amp;gt;conducts workshops and gives certificates.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For more details, please write to us.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Slide 13:&lt;br /&gt;
&lt;br /&gt;
Forum for specific questions:&lt;br /&gt;
|| Please post your timed queries in this forum.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background-color:#ffffff;border-top:1pt solid #000000;border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.095cm;padding-right:0.191cm;&amp;quot; | Slide: Acknowledgement&lt;br /&gt;
| style=&amp;quot;border-top:1pt solid #000000;border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.095cm;padding-right:0.191cm;&amp;quot; | Spoken Tutorial Project is funded by NMEICT, MHRD, Government of India.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
More information on this mission is available at this link.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| &lt;br /&gt;
|| This is Siddhartha Sarkar signing off. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Thanks for watching.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>SiddharthaSarkar</name></author>	</entry>

	<entry>
		<id>https://script.spoken-tutorial.org/index.php/Python-Flask/C2/Installation-of-Python-Flask/English</id>
		<title>Python-Flask/C2/Installation-of-Python-Flask/English</title>
		<link rel="alternate" type="text/html" href="https://script.spoken-tutorial.org/index.php/Python-Flask/C2/Installation-of-Python-Flask/English"/>
				<updated>2019-01-21T11:22:52Z</updated>
		
		<summary type="html">&lt;p&gt;SiddharthaSarkar: Script synced with video.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Title of script: Installation of Python Flask'''&lt;br /&gt;
&lt;br /&gt;
'''Author: Siddhartha Sarkar'''&lt;br /&gt;
&lt;br /&gt;
Keywords: ​Video tutorial, Python Flask, Installation, Virtual Environment.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;border-spacing:0;width:16.51cm;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
| align=center| '''Visual Cue'''&lt;br /&gt;
| align=center| '''Narration'''&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Slide 1: Installation of Python Flask&lt;br /&gt;
|| Welcome to the spoken tutorial on''' Installation of Python Flask.'''&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Slide 2: Learning Objectives&lt;br /&gt;
|| In this tutorial we will learn to&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Create a '''Virtual Environment.'''&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Activate and deactivate the '''Virtual Environment'''.&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Install packages inside the '''Virtual Environment'''.&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;And launch a '''Flask application'''.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Slides 3: System Requirements&lt;br /&gt;
|| To record this tutorial, I’m using&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;'''Ubuntu Linux 16.04''' '''OS'''&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;'''Python''' '''3.5.2'''&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;'''Atom text editor 1.22.1 '''&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;'''Firefox web browser''' and&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;A working '''Internet''' connection.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You can use any text editor and web browser of your choice.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Slide 5:&lt;br /&gt;
&lt;br /&gt;
Pre-requisites&lt;br /&gt;
&lt;br /&gt;
|| To follow this tutorial, you should have working knowledge on&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;'''Linux commands''' and&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Basic '''Python programming'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If not, then please go through the corresponding tutorials on this website. &lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Slide 6: Virtual Environment&lt;br /&gt;
|| &lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;A '''virtual environment''' is a self-contained '''directory tree. '''&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;It contains a '''Python installation''' for a particular version of '''Python'''. &amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Additional '''packages''' can be installed inside the '''virtual environment'''.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Slide 6: Virtual Environment&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#0000ff;&amp;quot;&amp;gt;(pronounce as v-e-n-v)&amp;lt;/div&amp;gt;&lt;br /&gt;
|| &lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;'''Venv '''is the short form for '''virtual environment.'''&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;'''Venv '''is used to avoid conflict between different '''Python installations'''. &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Slide 7: Virtual Environment&lt;br /&gt;
|| &lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;For every '''project,''' we can have a separate '''Venv'''.&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;We will install '''Venv '''via a '''package''' called '''pip'''.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Slide 8: Pip&lt;br /&gt;
|| &lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;'''Pip '''is a '''package manager '''program.&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Used to install, upgrade, and remove '''Python packages. '''&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;'''Pip3 '''is the '''Python3 '''version of '''pip'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Slide: Pip3 installation&lt;br /&gt;
|| &lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;To check if '''pip3''' is already installed, type the following command in the '''terminal:'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''pip3 &amp;lt;space&amp;gt; hyphen hyphen version '''and press''' Enter.'''&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;If it gives a '''version''' number, then you don’t need to install it again.&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Else, install '''pip3''' using the following command in the '''terminal''':&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''sudo &amp;lt;space&amp;gt; apt &amp;lt;space&amp;gt; install &amp;lt;space&amp;gt; python3-pip'''&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Open the terminal&lt;br /&gt;
|| Open the '''terminal''' by pressing '''Ctrl''', '''Alt''' and '''T''' keys together.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Type pip3 --version [Enter]&lt;br /&gt;
|| Let us check the version of '''pip.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Type '''pip3 &amp;lt;space&amp;gt; hyphen hyphen version '''and press''' Enter.'''&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| &lt;br /&gt;
&lt;br /&gt;
Point to pip version&lt;br /&gt;
|| You should be able to see some valid '''pip3''' version number.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In my case it is '''pip 18.0''' for '''python 3.5'''.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
| style=&amp;quot;color:#0000ff;&amp;quot; | (pronounce as virtual-e-n-v).&lt;br /&gt;
|| Next let us install '''Virtualenv.'''&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Type&lt;br /&gt;
&lt;br /&gt;
$ sudo pip3 install virtualenv [Enter]&lt;br /&gt;
|| Type '''sudo &amp;lt;space&amp;gt; pip3 &amp;lt;space&amp;gt; install &amp;lt;space&amp;gt; virtualenv'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
And press''' Enter.'''Provide the '''admin password '''and press''' Enter.'''&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:1pt solid #000000;border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.095cm;padding-right:0.191cm;&amp;quot; | Only narration&lt;br /&gt;
| style=&amp;quot;border-top:1pt solid #000000;border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.095cm;padding-right:0.191cm;&amp;quot; | Next, I will create a folder named '''project_flask.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This folder will help me to organize my files in a single place.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:1pt solid #000000;border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.095cm;padding-right:0.191cm;&amp;quot; | [Terminal]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Type mkdir project_flask [Enter]&lt;br /&gt;
| style=&amp;quot;border-top:1pt solid #000000;border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.095cm;padding-right:0.191cm;&amp;quot; | To do so, type '''mkdir &amp;lt;space&amp;gt; project underscore flask '''and press '''Enter.'''&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:1pt solid #000000;border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.095cm;padding-right:0.191cm;&amp;quot; | [Terminal]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Type cd project_flask [Enter]&lt;br /&gt;
| style=&amp;quot;border-top:1pt solid #000000;border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.095cm;padding-right:0.191cm;&amp;quot; | Type '''cd &amp;lt;space&amp;gt;''' '''project underscore flask''' and press '''Enter.'''&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Only narration&lt;br /&gt;
|| Now let us create a new '''virtual environment''' inside our newly created '''directory'''.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| [Terminal]&lt;br /&gt;
&lt;br /&gt;
Typing&lt;br /&gt;
&lt;br /&gt;
$ virtualenv -p python3 flask_venv&lt;br /&gt;
|| So type &lt;br /&gt;
&lt;br /&gt;
'''virtualenv &amp;lt;space&amp;gt; &amp;lt;hyphen&amp;gt; p &amp;lt;space&amp;gt; python3 &amp;lt;space&amp;gt; flask_venv'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This will create a '''virtual environment''' named '''flask_venv'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You may choose any other name for the '''virtual environment'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The '''hyphen p''' flag is used to specify which''' python interpreter''' is to be used.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| [Enter]&lt;br /&gt;
|| Now press '''Enter.'''&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| [Terminal]&lt;br /&gt;
&lt;br /&gt;
Typing&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
$ virtualenv -h [Enter]&lt;br /&gt;
|| For '''help''', type the following command in the '''terminal.'''&lt;br /&gt;
&lt;br /&gt;
'''virtualenv -h '''and press '''Enter.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Here, we can see the list of available commands and options.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Highlight -p and its description.&lt;br /&gt;
|| Observe that '''-p''' is used to specify the version of the '''python interpreter''' to be used.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| [Terminal]&lt;br /&gt;
&lt;br /&gt;
Type $ ls [Enter]&lt;br /&gt;
|| Type '''ls''' and press '''Enter.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note that we have a folder named '''flask_venv''' in our current '''directory'''.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| [Terminal]&lt;br /&gt;
&lt;br /&gt;
Type&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
$ ls flask_venv [Enter]&lt;br /&gt;
|| Now, let us see the contents of '''flask_venv directory'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Type '''ls &amp;lt;space&amp;gt; flask underscore venv'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Press''' Enter'''.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| [Terminal]&lt;br /&gt;
&lt;br /&gt;
Point to the list of directories in the terminal&lt;br /&gt;
|| Observe that there are a number of files and directories inside '''flask_venv'''.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| [Terminal] Point to bin&lt;br /&gt;
|| '''bin​''' contains the executable files.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| [Terminal] Point to lib&lt;br /&gt;
|| '''lib​''' contains supporting library files.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| [Terminal] Point to site-packages&lt;br /&gt;
|| Packages ​installed in this '''environment''' will appear in&lt;br /&gt;
&lt;br /&gt;
'''site-packages'''.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| [Terminal] Point to &lt;br /&gt;
&lt;br /&gt;
lib/ python3.5 directory&lt;br /&gt;
|| '''site-packages''' can be found ​inside '''lib slash python3.5 directory.'''&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| &lt;br /&gt;
|| Next, we have to '''activate''' this '''virtual environment'''. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Activate''' means, from now on all the''' python commands''' will run inside this '''venv'''.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| [Terminal]&lt;br /&gt;
&lt;br /&gt;
Typing&lt;br /&gt;
&lt;br /&gt;
$ . flask_venv/bin/activate&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|| To do that, we have to run the '''activate''' executable from the '''bin directory'''. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Type '''dot &amp;lt;space&amp;gt; flask &amp;lt;underscore&amp;gt; venv slash bin slash activate'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Press '''Enter.'''&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| &lt;br /&gt;
|| The '''shell''' now uses an instance of '''Python '''from our '''virtual environment.'''&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| [Terminal]&lt;br /&gt;
&lt;br /&gt;
Highlight&lt;br /&gt;
&lt;br /&gt;
(flask_env)&lt;br /&gt;
|| Once activated, notice the change in the '''terminal'''. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We can see the name of the virtual environment '''flask_venv''' inside parentheses, in the '''terminal'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This indicates that we are inside an activated '''virtual''' '''environment''' called '''flask_venv'''.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| [Terminal]&lt;br /&gt;
&lt;br /&gt;
Type&lt;br /&gt;
&lt;br /&gt;
$ python3 -V&lt;br /&gt;
|| We should now make sure that we are using '''Python 3''' inside this '''Virtual Environment.''' &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For that, type '''python3 &amp;lt;space&amp;gt; hyphen capital V''' and press '''Enter.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In my case it shows '''Python 3.5.2'''.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| [Terminal]&lt;br /&gt;
&lt;br /&gt;
Typing&lt;br /&gt;
&lt;br /&gt;
$ pip3 install flask&lt;br /&gt;
|| Next let us install '''flask''' inside '''venv'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Type '''pip3&amp;lt;space&amp;gt; install &amp;lt;space&amp;gt; flask '''and press '''Enter.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This will install the '''Flask''' package only for this '''venv''' and not system wide. &lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| [Terminal]&lt;br /&gt;
&lt;br /&gt;
Highlight&lt;br /&gt;
&lt;br /&gt;
“...installed Flask-1.0.2 Jinja2-2.10 MarkupSafe-1.0 Werkzeug-0.14.1...”&lt;br /&gt;
|| Some associated packages like '''Jinja2''', '''MarkupSafe''' and '''Werkzeug''' will also get installed.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| [Terminal]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Type&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
$pip list&lt;br /&gt;
|| To confirm, whether '''Flask''' has been installed or not, type &lt;br /&gt;
&lt;br /&gt;
'''pip &amp;lt;space&amp;gt; list'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
And press '''Enter.'''&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| [Terminal]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Highlight flask, jinja2, werkzeug.&lt;br /&gt;
|| Observe that we have '''flask, jinja2, werkzeug''' etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
That means our '''Flask''' installation was successful.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| [Terminal]&lt;br /&gt;
|| Let us see the working of '''Flask''' by writing a simple '''‘hello world’ app'''.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Only narration&lt;br /&gt;
|| Let’s create a '''python''' file at the same level as '''flask_venv'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This is so that the '''flask_venv '''is logically separated from the '''hello world app'''.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Only narration&lt;br /&gt;
|| I will be using '''atom text editor.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
However, you can use any''' text editor''' of your choice.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| [Terminal]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
$ atom hello_flask.py&lt;br /&gt;
|| Type the command&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''atom &amp;lt;space&amp;gt; hello underscore flask dot py'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
and press '''Enter.'''&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| &lt;br /&gt;
|| This will open the file in the '''text editor '''window.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| [Text Editor]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
from flask import Flask&lt;br /&gt;
&lt;br /&gt;
app = Flask(__name__)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
@app.route('/')&lt;br /&gt;
&lt;br /&gt;
def hello_world():&lt;br /&gt;
&lt;br /&gt;
(Tab)return 'Hello, World!'&lt;br /&gt;
|| Type the code as shown here. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Which will launch a very simple '''built-in server.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| [Text Editor]&lt;br /&gt;
|| We will discuss this '''program''' and its '''elements''' in detail in later tutorials.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Save the file by pressing Ctrl+S.&lt;br /&gt;
|| For now, let’s save the file by pressing '''Ctrl and S''' keys together.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Click close button.&lt;br /&gt;
|| Then close the editor by clicking on the '''close''' button at the top left corner of the window.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| [Terminal]&lt;br /&gt;
&lt;br /&gt;
Type&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
$ export FLASK_APP=hello_flask.py&lt;br /&gt;
|| Come back to the '''terminal''', and type&lt;br /&gt;
&lt;br /&gt;
'''export &amp;lt;space&amp;gt; FLASK_APP &amp;lt;equal to&amp;gt; hello underscore flask dot py'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
And press '''Enter'''.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Only narration.&lt;br /&gt;
|| This command sets an '''environment variable '''named '''FLASK_APP''' with the '''python '''file-name.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The '''FLASK_APP variable '''specifies the '''module '''to import while running our '''app'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This tells the '''terminal''' which '''flask app '''to work with.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| [Terminal]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Type&lt;br /&gt;
&lt;br /&gt;
$ echo $FLASK_APP&lt;br /&gt;
|| It is possible to verify that we have indeed set '''FLASK_APP variable''' by the filename.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To do that type&lt;br /&gt;
&lt;br /&gt;
'''echo &amp;lt;space&amp;gt; &amp;lt;dollar&amp;gt; FLASK underscore APP'''&lt;br /&gt;
&lt;br /&gt;
And press''' Enter.'''&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Point to the output&lt;br /&gt;
|| Observe that we got the filename '''hello underscore flask dot py''' back.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| [Terminal]&lt;br /&gt;
&lt;br /&gt;
Type&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
$ python3 -m flask run&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[Enter]&lt;br /&gt;
|| Now type&lt;br /&gt;
&lt;br /&gt;
'''python3 &amp;lt;space&amp;gt; hyphen m &amp;lt;space&amp;gt; flask &amp;lt;space&amp;gt; run'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This command runs the '''flask application''' named '''hello underscore flask'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The file to execute is the one given by the '''FLASK_APP environment variable.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We have already set that in the previous step.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Press '''Enter'''.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Point to the message&lt;br /&gt;
|| If all goes well, you should see a message &lt;br /&gt;
&lt;br /&gt;
'''“Running on [http://127.0.0.1:5000/ http://127.0.0.1:5000/]”'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This implies that the '''server''' is running locally.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| [Firefox]&lt;br /&gt;
&lt;br /&gt;
Type &lt;br /&gt;
&lt;br /&gt;
[http://127.0.0.1:5000/ http://127.0.0.1:5000/]&lt;br /&gt;
&lt;br /&gt;
And press Enter.&lt;br /&gt;
|| Now, open a web browser.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In the address bar, type [http://127.0.0.1:5000/ http://127.0.0.1:5000/] and press '''Enter'''.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Highlight ‘Hello, World!’&lt;br /&gt;
|| We can see the message ‘'''Hello, World!'''’ written in the browser window. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Which means that '''Flask '''is working fine in the '''Virtual Environment'''.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background-color:#ffffff;border-top:1pt solid #000000;border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.095cm;padding-right:0.191cm;&amp;quot; | Switch to Terminal&lt;br /&gt;
| style=&amp;quot;background-color:#ffffff;border-top:1pt solid #000000;border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.095cm;padding-right:0.191cm;&amp;quot; | Let us go back to the '''terminal.'''&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background-color:#ffffff;border-top:1pt solid #000000;border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.095cm;padding-right:0.191cm;&amp;quot; | Press Ctrl+c simultaneously &lt;br /&gt;
| style=&amp;quot;background-color:#ffffff;border-top:1pt solid #000000;border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.095cm;padding-right:0.191cm;&amp;quot; | To stop the '''server''', press '''Ctrl''' and '''C''' keys simultaneously.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:1pt solid #000000;border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.095cm;padding-right:0.191cm;&amp;quot; | [Terminal]&lt;br /&gt;
&lt;br /&gt;
Type deactivate and press Enter&lt;br /&gt;
| style=&amp;quot;border-top:1pt solid #000000;border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.095cm;padding-right:0.191cm;&amp;quot; | When the '''Virtual Environment''' is not in use, we can deactivate it.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To do so, type '''deactivate''' and press '''Enter'''.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:1pt solid #000000;border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.095cm;padding-right:0.191cm;&amp;quot; | [Terminal]&lt;br /&gt;
&lt;br /&gt;
Point the shell prompt&lt;br /&gt;
| style=&amp;quot;border-top:1pt solid #000000;border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.095cm;padding-right:0.191cm;&amp;quot; | We can see that the '''flask_venv '''name disappears from the '''command prompt.'''&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:1pt solid #000000;border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.095cm;padding-right:0.191cm;&amp;quot; | Narration only&lt;br /&gt;
| style=&amp;quot;border-top:1pt solid #000000;border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.095cm;padding-right:0.191cm;&amp;quot; | With this, we come to the end of this tutorial.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Let us summarize.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Slide 9: Summary&lt;br /&gt;
|| In this tutorial we learnt to* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Create a '''Virtual Environment.'''&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Activate and deactivate the '''Virtual Environment'''.&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Install '''Flask '''and&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Launch '''“Hello world”''' in '''Flask'''.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:1pt solid #000000;border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.079cm;padding-right:0.191cm;&amp;quot; | Slide: About Spoken Tutorial project&lt;br /&gt;
| style=&amp;quot;border-top:1pt solid #000000;border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.079cm;padding-right:0.191cm;&amp;quot; | The video at the following link summarises the Spoken Tutorial project.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Please download and watch it.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background-color:#ffffff;border-top:1pt solid #000000;border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.095cm;padding-right:0.191cm;&amp;quot; | Slide:&lt;br /&gt;
&lt;br /&gt;
Spoken Tutorial workshops&lt;br /&gt;
| style=&amp;quot;background-color:#ffffff;border-top:1pt solid #000000;border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.095cm;padding-right:0.191cm;&amp;quot; | &amp;lt;span style=&amp;quot;background-color:#ffffff;&amp;quot;&amp;gt;The&amp;amp;nbsp;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;&amp;quot;&amp;gt;'''Spoken Tutorial Project'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;&amp;quot;&amp;gt;&amp;amp;nbsp;team &amp;lt;/span&amp;gt;conducts workshops and gives certificates.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For more details, please write to us.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:1pt solid #000000;border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.079cm;padding-right:0.191cm;&amp;quot; | Slide: Forum for specific questions:&lt;br /&gt;
| style=&amp;quot;border-top:1pt solid #000000;border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.079cm;padding-right:0.191cm;&amp;quot; | * &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Do you have questions in this Spoken Tutorial?&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Please visit this site&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Choose the minute and second where you have the question.&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Explain your question briefly.&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Someone from our team will answer them.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:1pt solid #000000;border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.079cm;padding-right:0.191cm;&amp;quot; | Slide: Forum for specific questions:&lt;br /&gt;
| style=&amp;quot;border-top:1pt solid #000000;border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.079cm;padding-right:0.191cm;&amp;quot; | * &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;The Spoken Tutorial forum is for specific questions on this tutorial.&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Please do not post unrelated and general questions on them.&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;This will help reduce the clutter.&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;With less clutter, we can use these discussion as instructional material.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background-color:#ffffff;border-top:1pt solid #000000;border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.095cm;padding-right:0.191cm;&amp;quot; | Slide: Acknowledgement&lt;br /&gt;
| style=&amp;quot;border-top:1pt solid #000000;border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.095cm;padding-right:0.191cm;&amp;quot; | Spoken Tutorial Project is funded by NMEICT, MHRD, Government of India.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
More information on this mission is available at this link.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| &lt;br /&gt;
|| This is Siddhartha Sarkar signing off. Thanks for watching.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>SiddharthaSarkar</name></author>	</entry>

	<entry>
		<id>https://script.spoken-tutorial.org/index.php/Python-Flask/C2/Request-Response-Cycle-in-a-Flask-Web-App/English</id>
		<title>Python-Flask/C2/Request-Response-Cycle-in-a-Flask-Web-App/English</title>
		<link rel="alternate" type="text/html" href="https://script.spoken-tutorial.org/index.php/Python-Flask/C2/Request-Response-Cycle-in-a-Flask-Web-App/English"/>
				<updated>2018-12-26T12:29:42Z</updated>
		
		<summary type="html">&lt;p&gt;SiddharthaSarkar: Created page with &amp;quot;'''Title of script: The Request-Response Cycle in a Flask web app'''  '''Author: Siddhartha Sarkar'''  Keywords: ​Video tutorial, Python Flask, view functions, request objec...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Title of script: The Request-Response Cycle in a Flask web app'''&lt;br /&gt;
&lt;br /&gt;
'''Author: Siddhartha Sarkar'''&lt;br /&gt;
&lt;br /&gt;
Keywords: ​Video tutorial, Python Flask, view functions, request object, HTTP response, debugging.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;border-spacing:0;width:17.489cm;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding:0.176cm;&amp;quot;&lt;br /&gt;
| align=center| '''Visual Cue'''&lt;br /&gt;
| align=center| '''Narration'''&lt;br /&gt;
|- style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| '''Slide 1: The Request-Response Cycle in a Flask web app'''&lt;br /&gt;
|| Welcome to the Spoken Tutorial on''' the request-response cycle in a Flask web app.'''&lt;br /&gt;
|- style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| '''Slide 2: Learning Objectives'''&lt;br /&gt;
|| In this tutorial, we will learn&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;About the '''request-response''' cycle in '''Flask'''.&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Different '''attributes''' of the '''request object'''.&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Different '''types''' of '''request data'''.&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Several '''HTTP''' '''response codes'''.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| '''Slides 3: System Requirements'''&lt;br /&gt;
|| To record this tutorial, I’m using&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;'''Ubuntu Linux 16.04''' '''OS'''&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;'''Python''' '''3.5.2'''&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;'''Atom text editor 1.22.1 '''and''' '''&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;'''Firefox web browser'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You can use any text editor and web browser of your choice.&lt;br /&gt;
|- style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| '''Slide 5:'''&lt;br /&gt;
&lt;br /&gt;
'''Pre-requisites'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|| To follow this tutorial, you should have working knowledge of&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;'''Linux commands'''&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;'''Python programming '''and &amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;'''HTML '''syntax&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If not, then please go through the corresponding tutorials on this website. http://spoken-tutorial.org&lt;br /&gt;
|- style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| '''Slide 6''': '''The request object'''&lt;br /&gt;
|| We already said that the '''Flask app''' instance has to process the received '''request'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For processing, the '''app '''instance needs to have access to certain information.&lt;br /&gt;
|- style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| '''Slide 6''': '''The request object'''&lt;br /&gt;
|| A few '''objects '''are provided to the '''view functions,''' where the processing takes place.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
One of these '''objects '''is the '''request object'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This '''object '''encapsulates the contents of the '''HTTP request '''sent by the '''client'''.&lt;br /&gt;
|- style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| '''Slide 7''': '''The request object'''&lt;br /&gt;
|| The incoming '''request '''data can be of several forms. For example&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;'''Query arguments''' sent as part of the '''URL '''in the '''browser'''.&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;'''Form data''' collected from '''web forms.'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We will discuss them in detail in this tutorial.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background-color:#ffffff;border-top:1pt solid #000001;border-bottom:0.5pt solid #000001;border-left:0.5pt solid #000001;border-right:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.095cm;padding-right:0.191cm;&amp;quot; | Open a Terminal window&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;background-color:#ffffff;border-top:1pt solid #000001;border-bottom:0.5pt solid #000001;border-left:0.5pt solid #000001;border-right:0.5pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.095cm;padding-right:0.191cm;&amp;quot; | Let us open the '''Terminal''' by pressing '''Ctrl''', '''Alt''' and '''T''' keys simultaneously on the keyboard.&lt;br /&gt;
|- style=&amp;quot;background-color:#ffffff;border:0.5pt solid #000001;padding:0.106cm;&amp;quot;&lt;br /&gt;
|| [Terminal]&lt;br /&gt;
&lt;br /&gt;
Type cd project_flask &amp;amp; Press Enter&lt;br /&gt;
|| Now go to the folder '''project underscore flask''' which we created earlier using '''cd''' '''command.'''&lt;br /&gt;
|- style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| [Terminal]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
$ . flask_venv/bin/activate&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[Enter]&lt;br /&gt;
|| Let us activate our '''virtualenv'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Type the command&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Dot space flask_venv slash bin slash activate'''&lt;br /&gt;
&lt;br /&gt;
And press '''Enter'''.&lt;br /&gt;
|- style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| [Terminal]&lt;br /&gt;
&lt;br /&gt;
Highlight (flask_venv)&lt;br /&gt;
|| Notice that we are now inside the '''virtual environment flask_venv.'''&lt;br /&gt;
|- style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| [Terminal]&lt;br /&gt;
&lt;br /&gt;
Type&lt;br /&gt;
&lt;br /&gt;
$ atom hello_flask.py&lt;br /&gt;
|| Let’s open the '''hello_flask.py''' file in a text editor, which we created earlier in this series..&lt;br /&gt;
|- style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| [Text Editor]&lt;br /&gt;
&lt;br /&gt;
Type “'', request''”&lt;br /&gt;
&lt;br /&gt;
|| Let’s look at how the '''request object''' is made available in a '''view function'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We will import the '''request object''' from the '''flask library.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In the line '''from flask import Flask, '''we will add '''comma space request'''&lt;br /&gt;
|- style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| [Text editor]&lt;br /&gt;
&lt;br /&gt;
Type in hello_world():&lt;br /&gt;
&lt;br /&gt;
(As the first line)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
print(&amp;quot;Request method is &amp;quot; + request.method)&lt;br /&gt;
|| The '''request object''' has many '''attributes'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Let us access '''request''' inside the '''hello_world view function.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Next to the '''function''' definition, type the code as shown.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Highlight &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
print(&amp;quot;Request method is &amp;quot; + request.method)&lt;br /&gt;
|| This will print the '''method attribute''' of the '''request object.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Press Ctrl+S&lt;br /&gt;
|| Save the file.&lt;br /&gt;
|- style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| [Terminal]&lt;br /&gt;
&lt;br /&gt;
Type &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
$ export FLASK_APP=hello_flask.py&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|| Let us start the '''server''' to see the changes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Type '''export &amp;lt;space&amp;gt; FLASK_APP &amp;lt;equal to &amp;gt; hello underscore flask dot py'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
And press '''Enter'''.&lt;br /&gt;
|- style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| [Terminal]&lt;br /&gt;
&lt;br /&gt;
Type&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
$ python3 -m flask run&lt;br /&gt;
&lt;br /&gt;
[Enter]&lt;br /&gt;
|| Now type&lt;br /&gt;
&lt;br /&gt;
'''python3 &amp;lt;space&amp;gt; hyphen m &amp;lt;space&amp;gt; flask &amp;lt;space&amp;gt; run'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
And press '''Enter'''.&lt;br /&gt;
|- style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| [Firefox]&lt;br /&gt;
&lt;br /&gt;
Type &lt;br /&gt;
&lt;br /&gt;
[http://127.0.0.1:5000/ http://localhost:5000/]&lt;br /&gt;
&lt;br /&gt;
And press Enter.&lt;br /&gt;
|| Next, open a web browser.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In the '''address bar,''' type [http://127.0.0.1:5000/ http://localhost:5000/] and press '''Enter'''.&lt;br /&gt;
|- style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Highlight the output&lt;br /&gt;
|| We got the output as '''Hello World.'''&lt;br /&gt;
|- style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| [Terminal]&lt;br /&gt;
|| Switch to the '''terminal '''once again.&lt;br /&gt;
|- style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Highlight “Request method is Get”&lt;br /&gt;
|| Observe that the current '''request method '''is “'''GET'''”.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The '''request object''' is indeed accessible inside the '''view functions'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The '''GET HTTP method''' is used to retrieve '''data''' from the '''web server'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
It specifies the '''parameters''' in the '''URL''' of the '''request '''itself.&lt;br /&gt;
|- style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Only narration.&lt;br /&gt;
|| Now let us see how one can send '''data''' to the '''server '''using the '''request object'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
There are a number of ways to do this.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The simplest one is via '''Query Arguments'''.&lt;br /&gt;
|- style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| &lt;br /&gt;
[Text Editor]&lt;br /&gt;
&lt;br /&gt;
Type&lt;br /&gt;
&lt;br /&gt;
@app.route('/query')&lt;br /&gt;
&lt;br /&gt;
def query_args():&lt;br /&gt;
&lt;br /&gt;
(Tab)framework = request.args['framework']&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;(Tab)return '''&amp;lt;h1&amp;gt;The framework value is: {}&amp;lt;/h1&amp;gt;'''.format(framework)&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|| Let us define a new '''route''' to explain this. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Switch back to the '''editor'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Before the '''if condition''', type the code as shown here.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We will call it as '''query'''.&lt;br /&gt;
|- style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Press Ctrl+S&lt;br /&gt;
|| Save the file.&lt;br /&gt;
|- style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Highlight &lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&lt;br /&gt;
&amp;lt;h1&amp;gt;The framework value is: {}&amp;lt;/h1&amp;gt;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|| Here we have written the '''statement''' inside the '''HTML’s h1 heading tag'''. &lt;br /&gt;
|- style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Highlight '''args''' in&lt;br /&gt;
&lt;br /&gt;
'''framework = request.args['framework']'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|| Here we have an '''attribute''' called '''args''' in the '''request object'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This is a '''dictionary object'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
It has the '''parsed''' contents of the '''query string '''in the '''URL'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We will use this '''attribute '''to retrieve the '''data '''sent as '''query arguments.'''&lt;br /&gt;
|- style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| [Terminal]&lt;br /&gt;
|| Switch to the '''terminal'''.&lt;br /&gt;
|- style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Press Ctrl+C&lt;br /&gt;
|| Press '''Ctrl''' and '''C''' keys to stop the '''server'''.&lt;br /&gt;
|- style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Type&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
$ python3 -m flask run [Enter]&lt;br /&gt;
|| Press the '''up arrow''' key to get the '''command''' to run the '''flask application.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
And press '''Enter'''.&lt;br /&gt;
|- style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| [Firefox]&lt;br /&gt;
|| Switch to the '''web browser. '''&lt;br /&gt;
|- style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Type &lt;br /&gt;
&lt;br /&gt;
[http://127.0.0.1:5000/ http://localhost:5000/query]&lt;br /&gt;
&lt;br /&gt;
And press Enter.&lt;br /&gt;
|| In the '''address bar''', next to '''5000''' type '''slash query'''&lt;br /&gt;
&lt;br /&gt;
and press '''Enter'''.&lt;br /&gt;
|- style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Highlight the error&lt;br /&gt;
|| We get a “'''Bad request'''” error.&lt;br /&gt;
|- style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| [Terminal]&lt;br /&gt;
|| Switch back to the '''terminal'''.&lt;br /&gt;
|- style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Highlight&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;quot;GET /query HTTP/1.1&amp;quot; 400 -&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|| Notice that this '''response '''has '''HTTP code 400'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This is one of the common errors you will encounter while developing '''Flask applications'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''400 code''' indicates that the '''server''' could not understand the '''request''' due to invalid '''syntax'''.&lt;br /&gt;
|- style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Only narration.&lt;br /&gt;
|| So now we have to find out where this '''syntax''' issue has occurred.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We will scan the code to spot the error.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This is called '''debugging'''.&lt;br /&gt;
|- style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| [Text Editor]&lt;br /&gt;
&lt;br /&gt;
Press Ctrl+C&lt;br /&gt;
&lt;br /&gt;
|| For this, we have to start the '''server''' in the '''debug mode'''.&lt;br /&gt;
&lt;br /&gt;
Before that, we need to stop the current '''server''' by pressing '''Ctrl''' and '''C '''keys together.&lt;br /&gt;
|- style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| [Terminal]&lt;br /&gt;
&lt;br /&gt;
Type &lt;br /&gt;
&lt;br /&gt;
$ export FLASK_ENV=development&lt;br /&gt;
|| Then type '''export &amp;lt;space&amp;gt;FLASK &amp;lt;underscore&amp;gt; ENV &amp;lt;equal to&amp;gt; development'''&lt;br /&gt;
&lt;br /&gt;
and press '''Enter'''.&lt;br /&gt;
|- style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| [Terminal]&lt;br /&gt;
&lt;br /&gt;
Type&lt;br /&gt;
&lt;br /&gt;
$ python3 -m flask run&lt;br /&gt;
|| Now type&lt;br /&gt;
&lt;br /&gt;
'''python3&amp;lt;space&amp;gt;(hyphen)m&amp;lt;space&amp;gt;flask&amp;lt;space&amp;gt;run'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
And press '''Enter'''.&lt;br /&gt;
|- style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| [Terminal]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Highlight'' Debug mode: on''&lt;br /&gt;
|| Observe that now it says '''debug mode''' is '''on'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| [Firefox]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Click on the refresh button.&lt;br /&gt;
|| Go back to the '''browser''' and '''refresh''' the page.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Since the '''debug mode''' is active, we have received a '''traceback''' of errors.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This means that we get the line numbers where the errors have occurred in different files.&lt;br /&gt;
|- style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Highlight the different error lines in the traceback of errors.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|| The '''traceback''' includes the errors from the corresponding '''flask''' files as well.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This is because an error in one file causes errors in other files as well.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This is termed as the '''cascading''' '''effect'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We have to look for the error in a file that we have written.&lt;br /&gt;
|- style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Highlight&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
framework = request.args['framework']&lt;br /&gt;
|| Scroll down and search for the error in the file '''hello_flask.py'''&lt;br /&gt;
|- style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Highlight&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
BadRequestKeyError&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|| We have a '''BadRequestKeyError''' here.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
That means that the '''key “framework”''' for the '''dictionary request.args''' does not exist.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To rectify this, we have to modify that line.&lt;br /&gt;
|- style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| [Text editor]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Type&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
framework = request.args.get('framework')&lt;br /&gt;
|| Switch to the '''editor'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Now change the '''framework value '''as shown.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Press Ctrl+S&lt;br /&gt;
|| Save the file.&lt;br /&gt;
|- style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| [Text Editor]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Highlight&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
framework = request.args.get('framework')&lt;br /&gt;
|| Now even if the '''key''' is not found, '''python''' will handle this properly.&lt;br /&gt;
&lt;br /&gt;
That means, instead of causing a '''400 error''', it will return '''None'''.&lt;br /&gt;
|- style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| [Terminal]&lt;br /&gt;
|| Switch to the '''terminal.'''&lt;br /&gt;
|- style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Press Ctrl+C&lt;br /&gt;
|| Once again stop the '''server''' by pressing '''Ctrl''' and '''C''' keys together.&lt;br /&gt;
|- style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Type python3 -m flask run&lt;br /&gt;
|| Then run the '''server''' again.&lt;br /&gt;
|- style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| [Firefox]&lt;br /&gt;
|| Go back to the '''browser''' and refresh the page.&lt;br /&gt;
|- style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Click on the refresh button.&lt;br /&gt;
|| Now we have the output that we expected. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The '''framework value''' is '''None'''.&lt;br /&gt;
|- style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| &lt;br /&gt;
|| Next, we will send some value for the '''framework '''via the '''URL'''.&lt;br /&gt;
|- style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| [Firefox]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Click on the address bar&lt;br /&gt;
|| '''args''' gets the part of the '''URL '''after the question mark in the form of a '''python dictionary'''.&lt;br /&gt;
|- style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| [Firefox]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Type [http://127.0.0.1:5000/query?framework=my_flask http://127.0.0.1:5000/query?framework=my_flask]&lt;br /&gt;
|| In the '''address bar,''' next to the word '''query''' type:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Question mark framework &amp;lt;equal to&amp;gt; my underscore flask'''&lt;br /&gt;
&lt;br /&gt;
And press '''Enter.'''&lt;br /&gt;
|- style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Highlight:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The framework value is: my_flask&lt;br /&gt;
|| So now we have the '''framework attribute''' of the '''dictionary''' set to '''my_flask'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We got the result as expected.&lt;br /&gt;
|- style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| '''Slide 8''': '''form attribute'''&lt;br /&gt;
|| The '''request object''' has one more important '''attribute''' called '''‘form’'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
It can be used to collect '''data''' from the '''user''' using a '''web form'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
And then store the '''data '''as a '''dictionary '''in the '''form attribute'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Let us look at an example.&lt;br /&gt;
|- style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| [Text Editor]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Type&lt;br /&gt;
&lt;br /&gt;
@app.route('/form', methods=['GET', 'POST']) &lt;br /&gt;
&lt;br /&gt;
|| We will see how '''form data''' can be sent and received using the '''request object.'''&lt;br /&gt;
&lt;br /&gt;
Let us define a new '''route''' called '''form'''.&lt;br /&gt;
&lt;br /&gt;
We allow both '''GET''' and '''POST''' as possible '''request''' '''methods'''.&lt;br /&gt;
&lt;br /&gt;
Before the''' if statement,''' type the code as shown here.&lt;br /&gt;
|- style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| [Text Editor]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Type&lt;br /&gt;
&lt;br /&gt;
def my_form():&lt;br /&gt;
&lt;br /&gt;
if request.method == 'POST':&lt;br /&gt;
&lt;br /&gt;
firstname = request.form.get('firstname')&lt;br /&gt;
&lt;br /&gt;
lastname = request.form.get('lastname')&lt;br /&gt;
|| Now inside this '''form route''', define a '''view function''' '''my_form'''()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Once again, type the code as shown here.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Highlight:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
if request.method == 'POST':&lt;br /&gt;
&lt;br /&gt;
firstname = request.form.get('firstname')&lt;br /&gt;
&lt;br /&gt;
lastname = request.form.get('lastname')&lt;br /&gt;
|| &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This '''block''' will get executed, if the '''request''' is via '''POST method.'''&lt;br /&gt;
|- style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| '''Slide 9''': '''POST method'''&lt;br /&gt;
|| In '''POST request method'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;the '''client''' will send '''data''' to the '''server''' using the '''form'''.&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;This is to update the '''server''' with some information&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| '''Slide 9''': '''POST method'''&lt;br /&gt;
|| * &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;For example - you enter your '''username''' and '''password''' while logging in to a website.&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;In contrast, '''GET request method '''is used to get or read some '''data '''from the '''server'''.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Only narration &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|| Now let us store the '''form''' values into some '''variables'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We will obtain the entered values from the '''request object''' using the '''form''' '''attribute'''.&lt;br /&gt;
|- style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| [Text Editor]&lt;br /&gt;
|| Switch back to the '''editor'''.&lt;br /&gt;
|- style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Type&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;html_string1 = '''&amp;lt;h1&amp;gt;The firstname value is: {}&amp;lt;/h1&amp;gt; &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt; &amp;lt;h1&amp;gt;The lastname value is: {}&amp;lt;/h1&amp;gt;'''.format(firstname, lastname) &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
return html_string1&lt;br /&gt;
|| Inside the '''if condition''' which checks the''' post method, '''type the following piece of code.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This code will display the values of '''firstname''' and '''lastname'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| [Text Editor]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Type&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
html_string2 = '''&amp;lt;form method=&amp;quot;POST&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Firstname: &amp;lt;input type=&amp;quot;text&amp;quot; name=&amp;quot;firstname&amp;quot;&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lastname: &amp;lt;input type=&amp;quot;text&amp;quot; name=&amp;quot;lastname&amp;quot;&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;input type=&amp;quot;submit&amp;quot; value=&amp;quot;Submit&amp;quot;&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/form&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
return html_string2&lt;br /&gt;
|| Now outside the''' if condition''', type the following code.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This will simply display a '''web form''' in the output, if the '''request method''' is '''GET.'''&lt;br /&gt;
|- style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Press Ctrl + S&lt;br /&gt;
|| Save the file.&lt;br /&gt;
|- style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| [Terminal]&lt;br /&gt;
|| Switch back to the '''terminal'''.&lt;br /&gt;
|- style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Press Ctrl+C&lt;br /&gt;
|| Stop the '''server''' by pressing '''Ctrl''' and '''C''' keys together.&lt;br /&gt;
|- style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Type python3 -m flask run&lt;br /&gt;
|| Then run the '''server''' again.&lt;br /&gt;
|- style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| [Firefox]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Type [http://127.0.0.1:5000/form http://127.0.0.1:5000/form]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|| Switch to the '''browser'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In the '''address bar''' type the '''URL''' as '''http://localhost:5000/form''' and press '''Enter.'''&lt;br /&gt;
|- style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| &lt;br /&gt;
|| The page is displayed with a '''form'''.&lt;br /&gt;
|- style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| &lt;br /&gt;
|| Let us enter some values in the '''form'''.&lt;br /&gt;
|- style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Type '''First name''' as '''Spoken.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Last name '''as''' Tutorial'''&lt;br /&gt;
|| I will type the '''First name''' as '''Spoken.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Last name '''as''' Tutorial.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
And then click on '''Submit '''button''' '''located at the bottom of the''' web form.'''&lt;br /&gt;
|- style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| [Firefox]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Highlight&lt;br /&gt;
&lt;br /&gt;
The text in the browser&lt;br /&gt;
|| Here we have retrieved the '''firstname''' and '''lastname''' from the '''request object'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| &lt;br /&gt;
|| So this shows how the '''form attribute '''of the '''request''' '''object''' is used.&lt;br /&gt;
|- style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| [Text Editor]&lt;br /&gt;
|| The last thing I want to talk in this section is about “'''500: Internal Server Error'''”.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This is one of the most frequent errors you will encounter during '''flask''' '''app''' development.&lt;br /&gt;
|- style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| &lt;br /&gt;
|| Let us write a '''code snippet''' to demonstrate this.&lt;br /&gt;
|- style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| [Text Editor]&lt;br /&gt;
|| Switch to the '''editor'''.&lt;br /&gt;
|- style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Type inside user(name):&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
a = 10/0&lt;br /&gt;
|| In the '''user view function''', before the''' return statement''' type&lt;br /&gt;
&lt;br /&gt;
'''a &amp;lt;equal to&amp;gt; 10 slash zero'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
As we are dividing 10 by zero, we should get an error.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Save the file.&lt;br /&gt;
|- style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| [Terminal]&lt;br /&gt;
|| Switch to the '''terminal.'''&lt;br /&gt;
|- style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Press Ctrl+C&lt;br /&gt;
|| Stop the '''server''' by pressing '''Ctrl''' and '''C''' keys together.&lt;br /&gt;
|- style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Type python3 -m flask run&lt;br /&gt;
|| Now run the '''server''' again.&lt;br /&gt;
|- style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| [Firefox]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Type http://localhost:5000/user/Sid&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|| Switch to the '''browser'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In the '''address bar''' type the '''URL''' as '''http://localhost:5000/user/Sid''' and press '''Enter'''&lt;br /&gt;
|- style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| [Firefox]&lt;br /&gt;
|| Observe that we have received '''ZeroDivisionError'''.&lt;br /&gt;
|- style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Highlight star&lt;br /&gt;
|| Let’s switch to the '''terminal''' to see the '''HTTP status code'''.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding:0.176cm;&amp;quot; | [Terminal]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Highlight&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;quot;GET /user/error HTTP/1.1&amp;quot; 500&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;background-color:#ffffff;border-top:1pt solid #000001;border-bottom:0.5pt solid #000001;border-left:0.5pt solid #000001;border-right:0.5pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.095cm;padding-right:0.191cm;&amp;quot; | Here we can see '''HTTP response code''' as '''500.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Which means we have encountered an '''internal server error'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The '''500''' error implies that, there’s something wrong in the '''web server'''.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding:0.176cm;&amp;quot; | &lt;br /&gt;
| style=&amp;quot;background-color:#ffffff;border-top:1pt solid #000001;border-bottom:0.5pt solid #000001;border-left:0.5pt solid #000001;border-right:0.5pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.095cm;padding-right:0.191cm;&amp;quot; | Since we have the '''debug mode '''on, we know the specific reason for the error.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding:0.176cm;&amp;quot; | &lt;br /&gt;
| style=&amp;quot;background-color:#ffffff;border-top:1pt solid #000001;border-bottom:0.5pt solid #000001;border-left:0.5pt solid #000001;border-right:0.5pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.095cm;padding-right:0.191cm;&amp;quot; | With this we come to the end of this tutorial.&lt;br /&gt;
&lt;br /&gt;
Let us summarise.&lt;br /&gt;
|- style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Slide 10: Summary&lt;br /&gt;
|| In this tutorial, we learnt about,&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;The '''request-response''' cycle in '''Flask'''.&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Different '''attributes''' of the '''request object.'''&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Different '''types''' of '''request data'''.&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Several '''HTTP''' '''response codes'''.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background-color:#ffffff;border-top:1pt solid #000001;border-bottom:0.5pt solid #000001;border-left:0.5pt solid #000001;border-right:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.079cm;padding-right:0.191cm;&amp;quot; | &amp;lt;span style=&amp;quot;background-color:#ffffff;&amp;quot;&amp;gt;Slide: About Spoken Tutorial project&amp;lt;/span&amp;gt;&lt;br /&gt;
| style=&amp;quot;background-color:#ffffff;border-top:1pt solid #000001;border-bottom:0.5pt solid #000001;border-left:0.5pt solid #000001;border-right:0.5pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.079cm;padding-right:0.191cm;&amp;quot; | &amp;lt;span style=&amp;quot;background-color:#ffffff;&amp;quot;&amp;gt;The video at the following link summarises the Spoken Tutorial project.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Please download and watch it.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background-color:#ffffff;border-top:1pt solid #000001;border-bottom:0.5pt solid #000001;border-left:0.5pt solid #000001;border-right:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.095cm;padding-right:0.191cm;&amp;quot; | Slide:&lt;br /&gt;
&lt;br /&gt;
Spoken Tutorial workshops&lt;br /&gt;
| style=&amp;quot;background-color:#ffffff;border-top:1pt solid #000001;border-bottom:0.5pt solid #000001;border-left:0.5pt solid #000001;border-right:0.5pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.095cm;padding-right:0.191cm;&amp;quot; | &amp;lt;span style=&amp;quot;background-color:#ffffff;&amp;quot;&amp;gt;The&amp;amp;nbsp;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;&amp;quot;&amp;gt;'''Spoken Tutorial Project'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;&amp;quot;&amp;gt;&amp;amp;nbsp;team &amp;lt;/span&amp;gt;conducts workshops and gives certificates.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For more details, please write to us.&lt;br /&gt;
|- style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Slide:&lt;br /&gt;
&lt;br /&gt;
Forum for specific questions:&lt;br /&gt;
|| Please post your timed queries in this forum.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background-color:#ffffff;border-top:1pt solid #000001;border-bottom:0.5pt solid #000001;border-left:0.5pt solid #000001;border-right:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.095cm;padding-right:0.191cm;&amp;quot; | Slide: Acknowledgement&lt;br /&gt;
| style=&amp;quot;background-color:#ffffff;border-top:1pt solid #000001;border-bottom:0.5pt solid #000001;border-left:0.5pt solid #000001;border-right:0.5pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.095cm;padding-right:0.191cm;&amp;quot; | &amp;lt;span style=&amp;quot;background-color:#ffffff;&amp;quot;&amp;gt;Spoken Tutorial Project is funded by NMEICT, MHRD, Government of India.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
More information on this mission is available at this link.&lt;br /&gt;
|- style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| &lt;br /&gt;
|| This is Siddhartha Sarkar signing off. &lt;br /&gt;
&lt;br /&gt;
Thanks for watching.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>SiddharthaSarkar</name></author>	</entry>

	<entry>
		<id>https://script.spoken-tutorial.org/index.php/Python-Flask/C2/First-Flask-Web-App/English</id>
		<title>Python-Flask/C2/First-Flask-Web-App/English</title>
		<link rel="alternate" type="text/html" href="https://script.spoken-tutorial.org/index.php/Python-Flask/C2/First-Flask-Web-App/English"/>
				<updated>2018-12-25T22:32:43Z</updated>
		
		<summary type="html">&lt;p&gt;SiddharthaSarkar: Created page with &amp;quot;'''Title of script: First Flask web application'''  '''Author: Siddhartha Sarkar'''  Keywords: ​Video tutorial, Python Flask, Hello World, Routes, View Functions, HTTP proto...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Title of script: First Flask web application'''&lt;br /&gt;
&lt;br /&gt;
'''Author: Siddhartha Sarkar'''&lt;br /&gt;
&lt;br /&gt;
Keywords: ​Video tutorial, Python Flask, Hello World, Routes, View Functions, HTTP protocol.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;border-spacing:0;width:16.695cm;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding:0.176cm;&amp;quot;&lt;br /&gt;
| align=center| '''Visual Cue'''&lt;br /&gt;
| align=center| '''Narration'''&lt;br /&gt;
|- style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| '''Slide 1: First Flask web app'''&lt;br /&gt;
|| Welcome to the spoken tutorial on''' '''the first '''Flask web application.'''&lt;br /&gt;
|- style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| '''Slide 2: Learning Objectives'''&lt;br /&gt;
|| In this tutorial, we will learn&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;To write and analyze our first '''Flask application'''.&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;The concept of '''Routes '''and''' View''' '''functions'''.&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;About '''Dynamic content''' served by dynamic '''URLs'''.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| '''Slides 3: System Requirements'''&lt;br /&gt;
|| To record this tutorial, I’m using&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;'''Ubuntu Linux 16.04''' '''OS'''&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;'''Python''' '''3.5.2'''&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;'''Atom text editor 1.22.1 '''and''' '''&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;'''Firefox web browser'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You can use any text editor and web browser of your choice.&lt;br /&gt;
|- style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| '''Slide 5:'''&lt;br /&gt;
&lt;br /&gt;
'''Pre-requisites'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|| To follow this tutorial, you should have working knowledge on&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;'''Linux commands''' and&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Basic '''Python programming'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If not, then please go through the corresponding tutorials on this website. http://spoken-tutorial.org&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background-color:#ffffff;border-top:1pt solid #000001;border-bottom:0.5pt solid #000001;border-left:0.5pt solid #000001;border-right:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.095cm;padding-right:0.191cm;&amp;quot; | Open a Terminal window&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;background-color:#ffffff;border-top:1pt solid #000001;border-bottom:0.5pt solid #000001;border-left:0.5pt solid #000001;border-right:0.5pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.095cm;padding-right:0.191cm;&amp;quot; | Let us open the '''Terminal''' by pressing '''Ctrl''', '''Alt''' and '''T''' keys simultaneously on the keyboard.&lt;br /&gt;
|- style=&amp;quot;background-color:#ffffff;border:0.5pt solid #000001;padding:0.106cm;&amp;quot;&lt;br /&gt;
|| [Terminal]&lt;br /&gt;
&lt;br /&gt;
Type cd project_flask &amp;amp; Press Enter&lt;br /&gt;
|| Now go to the folder '''project underscore flask''' which we created earlier using '''cd''' '''command.'''&lt;br /&gt;
|- style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| [Terminal]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
$ . flask_venv/bin/activate&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[Enter]&lt;br /&gt;
|| Let us activate our '''vitualenv'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Type the command&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Dot space flask_venv slash bin slash activate'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
And press '''Enter'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''(dot)''' refers to the present working '''directory'''.&lt;br /&gt;
|- style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| [Terminal]&lt;br /&gt;
&lt;br /&gt;
Highlight (flask_venv)&lt;br /&gt;
|| Notice that we are now inside the''' virtual environment flask_venv.'''&lt;br /&gt;
|- style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| &lt;br /&gt;
|| Open the file '''hello_flask.py '''in a '''text editor'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
I will be using the '''atom text editor '''but you can use your prefered '''text editor.'''&lt;br /&gt;
|- style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| [Terminal]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
$ atom hello_flask.py&lt;br /&gt;
|| I will type the command.&lt;br /&gt;
&lt;br /&gt;
'''atom&amp;lt;space&amp;gt; hello underscore flask dot py'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
and press '''Enter.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Now let us understand what the code does, line by line.&lt;br /&gt;
|- style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| [Text Editor]&lt;br /&gt;
&lt;br /&gt;
Highlight&lt;br /&gt;
&lt;br /&gt;
“from flask import Flask”&lt;br /&gt;
|| The first line is '''from flask import Flask.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
It simply says '''import''' '''Flask''' '''module''' from '''flask''' folder. &lt;br /&gt;
|- style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| [Text Editor]&lt;br /&gt;
&lt;br /&gt;
Point to the left pane of Atom.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Collapse flask_venv-&amp;gt;lib-&amp;gt;python3.5-&amp;gt;site-packages&lt;br /&gt;
&lt;br /&gt;
And hover over flask foder.&lt;br /&gt;
|| Look at the '''directory structure''' at the left pane of the '''Atom text editor''' window.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Observe that there is no '''flask''' folder in the '''project'''. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
So how does the '''compiler''' find and import the '''Flask module'''?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Python''' is set to look for '''modules''' in the '''site-packages'''.&lt;br /&gt;
|- style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Highlight&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
app = Flask(__name__)&lt;br /&gt;
|| In the second line, we have created an '''object''' for the '''flask class.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This '''object''' of the '''Flask class''' is our '''WSGI application.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''WSGI''' stands for '''Web Server Gateway Interface.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We will come to what '''WSGI''' is later.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This takes an '''argument double underscore name double underscore. '''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This '''argument''' basically refers to the name of the file.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In our case it is “'''hello_flask'''”.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Flask''' uses this '''argument''' to determine the '''root path''' of the '''application'''.&lt;br /&gt;
|- style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| [Text Editor]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Highlight&lt;br /&gt;
&lt;br /&gt;
@app.route('/')&lt;br /&gt;
|| In the next line, the''' route function''' of the '''Flask class''' is a '''decorator.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
It tells the '''application''', which '''URL''' should call the associated '''function'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In this case, '''root slash''' is the '''URL'''. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
It refers to '''home''' or top '''domain'''.&lt;br /&gt;
|- style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| [Text Editor]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Highlight&lt;br /&gt;
&lt;br /&gt;
@app.route('/')&lt;br /&gt;
|| '''Decorators''' are a standard feature of the '''Python''' language.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
They can modify the behavior of a '''function''' in different ways. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In our case, it is used to associate a '''function''' with a '''URL'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To know more about '''decorators''' you may refer to the '''Python Spoken Tutorial series'''.&lt;br /&gt;
|- style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| '''Slide 5: Routes (img 1)'''&lt;br /&gt;
|| Let us understand the concept of '''routes''' in detail now.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Look at this diagram.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This shows a simplified '''client''' and '''server''' diagram.&lt;br /&gt;
|- style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| '''Slide 6: Routes (img 2)'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|| The client sends a '''request''' to the '''web server'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In our case, the '''web browser''' is the '''client'''.&lt;br /&gt;
|- style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| '''Slide 7: Routes (img 3)'''&lt;br /&gt;
|| Then the '''web server''' has to process the '''request''' and generate a '''response'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
And the '''Flask application '''instance does this job.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The '''web server''' sends the '''request''' to the '''Flask application''' instance.&lt;br /&gt;
|- style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| '''Slide 8: Routes (img 4)'''&lt;br /&gt;
|| On receiving the '''request''' the '''app''' matches it with the available '''route patterns'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| '''Slide 9: Routes '''&lt;br /&gt;
|| &lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Thus the '''application''' instance knows which '''function''' to execute for which '''URL'''.&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;This happens because it keeps a mapping of the '''URLs''' to '''functions'''.&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Here we need the concept of '''routes'''.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| '''Slide 9: Routes '''&lt;br /&gt;
|| &lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;The association between a '''URL''' and the '''function''' that handles it, is called a '''route'''.&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;The '''Flask app''' executes the associated '''function''' and returns a '''response'''.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| '''Slide 9: Routes '''&lt;br /&gt;
|| &lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;'''Routes''' can be either '''static''' or '''dynamic'''.&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;In the present case, we have a static '''route'''.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We will discuss '''dynamic routes''' in a moment.&lt;br /&gt;
|- style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| [Text Editor]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Highlight&lt;br /&gt;
&lt;br /&gt;
def hello_world():&lt;br /&gt;
|| Let’s come back to our '''“hello world” app.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In the next line, we define the associated '''function''' for this '''route'''. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This '''function''' gets executed when the '''root URL''' is hit.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In our case the '''root''' '''URL''' is [http://127.0.0.1:5000/ http://127.0.0.1:5000]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Here, we have named the '''function''' as “'''hello_world'''”.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
However, you may choose any other name of your choice.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This '''function''' associated with a '''route '''is called ‘'''view function'''’.&lt;br /&gt;
|- style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| [Text Editor]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Highlight&lt;br /&gt;
&lt;br /&gt;
return 'Hello, World!'&lt;br /&gt;
|| The next line says '''return 'Hello, World!''''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
So this '''view function''' simply returns a '''string “Hello World”. '''&lt;br /&gt;
|- style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| [Text Editor]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Type&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
if __name__ == '__main__':&lt;br /&gt;
&lt;br /&gt;
(Tab) app.run()&lt;br /&gt;
|| Now let us add a few more lines of code at the end.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Line 9 and 10.&lt;br /&gt;
|- style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| [Text Editor]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Highlight&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
if __name__ == '__main__':&lt;br /&gt;
&lt;br /&gt;
(Tab) app.run()&lt;br /&gt;
|| This is a customary common practice.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This ensures that '''server '''is launched only if the '''script''' runs directly from the '''terminal'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Otherwise '''app dot run''' is skipped.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
It may happen that a '''script''' is being called from another '''script'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In that case the imported '''script''' should not start a new '''server'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Hence we follow this practice.&lt;br /&gt;
|- style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| '''Ctrl+S'''&lt;br /&gt;
|| Let us save the file by pressing '''Ctrl''' and '''S''' keys.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Then close the editor window.&lt;br /&gt;
|- style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| [Terminal]&lt;br /&gt;
&lt;br /&gt;
Type &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
$ export FLASK_APP=hello_flask.py&lt;br /&gt;
|| Now back in the '''terminal''' and run the''' hello world app.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Type '''export &amp;lt;space&amp;gt; FLASK_APP &amp;lt;equal to &amp;gt; hello underscore flask dot py'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Press '''Enter'''.&lt;br /&gt;
|- style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| [Terminal]&lt;br /&gt;
&lt;br /&gt;
Type&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
$ python3 -m flask run&lt;br /&gt;
|| Now type&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''python3 &amp;lt;space&amp;gt; hyphen m &amp;lt;space&amp;gt; flask &amp;lt;space&amp;gt; run'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
And press '''Enter'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We can see a message '''“Running on [http://127.0.0.1:5000/ http://127.0.0.1:5000/]”'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Here, '''127.0.0.1''' is the '''IP''' '''address''' for the '''localhost'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Flask app''' is running in the '''local host''' on '''port 5000.'''&lt;br /&gt;
|- style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| [Firefox]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Type &lt;br /&gt;
&lt;br /&gt;
[http://127.0.0.1:5000/ http://127.0.0.1:5000/]&lt;br /&gt;
&lt;br /&gt;
And press Enter.&lt;br /&gt;
|| Now, open any '''web browser. '''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In the '''address bar''', type [http://127.0.0.1:5000/ http://127.0.0.1:5000/] and press '''Enter'''.&lt;br /&gt;
|- style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| [Firefox]&lt;br /&gt;
&lt;br /&gt;
Highlight ‘Hello, World!’&lt;br /&gt;
|| We can see the message ‘'''Hello, World!'''’ written in the browser window. &lt;br /&gt;
|- style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| &lt;br /&gt;
|| Switch back to the '''terminal'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Stop the '''server''' by pressing '''Ctrl''' and '''C '''keys together.&lt;br /&gt;
|- style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| [Terminal]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
atom hello_flask.py&lt;br /&gt;
|| Now we will write code for a '''dynamic''' '''route''' and also define a '''view function''' called '''hello_user'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Open the '''hello_flask.py''' in any '''text editor.'''&lt;br /&gt;
|- style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Type&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
@app.route('/user/&amp;lt;username&amp;gt;')&lt;br /&gt;
&lt;br /&gt;
def hello_user(username):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;(Tab) return '&amp;lt;h1&amp;gt;Hello, %s!&amp;lt;/h1&amp;gt;' % username &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|| Before the''' if condition''', type the code as shown here.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Highlight&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
@app.route('/user/&amp;lt;username&amp;gt;')&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|| This '''route''' has a '''URL''', '''home/user/&amp;lt;username&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
where '''home''' is the '''root''' '''domain''' '''URL''' of the '''server'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In our case the '''root''' '''URL''' is [http://127.0.0.1:5000/ http://127.0.0.1:5000]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
whereas, '''username''' is a '''variable'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We will use this '''variable '''in the '''view''' '''function''' to change the content in the browser.&lt;br /&gt;
|- style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Highlight&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def hello_user(username):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&lt;br /&gt;
(Tab) return '&amp;lt;h1&amp;gt;Hello, %s!&amp;lt;/h1&amp;gt;' % username &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|| This '''function '''will simply return a string '''‘Hello’''' '''username'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note that the output in the '''browser '''will vary as per the '''username''' in the '''URL'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''h1''' is the level one '''heading tag '''of '''HTML'''.&lt;br /&gt;
|- style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| &lt;br /&gt;
|| Let us save the file by pressing '''Ctrl''' and '''S''' keys&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Close the editor window.&lt;br /&gt;
|- style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| [Terminal]&lt;br /&gt;
&lt;br /&gt;
$ python3 -m flask run [Enter]&lt;br /&gt;
|| Run the '''app''' by executing the following command.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| [Firefox]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Type &lt;br /&gt;
&lt;br /&gt;
http://127.0.0.1:5000/user/Sid &lt;br /&gt;
&lt;br /&gt;
[Enter]&lt;br /&gt;
|| Switch to the '''web browser'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In the''' address bar''', type [http://127.0.0.1:5000/ http://127.0.0.1:5000/]user/Sid &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
and press '''Enter'''.&lt;br /&gt;
|- style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| [Firefox]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Type &lt;br /&gt;
&lt;br /&gt;
http://127.0.0.1:5000/user/Tom&lt;br /&gt;
&lt;br /&gt;
[Enter]&lt;br /&gt;
|| We got the output as '''“Hello Sid!”.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Now let’s try '''tom''' instead of '''sid'''&lt;br /&gt;
&lt;br /&gt;
In the '''address bar''', replace '''sid''' with '''tom.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Press '''Enter'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The output has changed to '''‘Hello Tom!’ '''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We have a dynamic '''URL''' in play here.&lt;br /&gt;
|- style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Slide 10: Example URL &lt;br /&gt;
|| This is what you may have observed in '''facebook''' as well.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Facebook''' individual '''users''' have a '''URL''' of the type:&lt;br /&gt;
&lt;br /&gt;
[http://www.facebook.com/profile_id www.facebook.com/profile_id]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Here '''profile_id''' refers to the unique '''ID''' of a '''facebook user.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Depending on the unique '''ID, facebook server''' fetches the individual '''profile pages'''.&lt;br /&gt;
|- style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| [Firefox]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Type &lt;br /&gt;
&lt;br /&gt;
http://127.0.0.1:5000/posts&lt;br /&gt;
&lt;br /&gt;
[Enter]&lt;br /&gt;
|| Let’s try a '''URL''' for which we did not define a '''route'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Switch to the '''browser '''window.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Replace '''/user/tom''' with '''posts '''and press '''Enter.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Observe that we got '''Not found''' message.&lt;br /&gt;
|- style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| [Terminal]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Highlight 404.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Highlight 200’s.&lt;br /&gt;
|| Switch to the '''terminal'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Observe that, the '''server''' has returned a '''404 response code.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This '''error code''' indicates that the web page requested for, does not exist.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Whereas most previous '''response codes''' were '''200'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We will discuss in detail these '''HTTP responses''' in the upcoming tutorials.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background-color:#ffffff;border-top:1pt solid #000001;border-bottom:0.5pt solid #000001;border-left:0.5pt solid #000001;border-right:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.095cm;padding-right:0.191cm;&amp;quot; | Press Ctrl+c simultaneously &lt;br /&gt;
| style=&amp;quot;background-color:#ffffff;border-top:1pt solid #000001;border-bottom:0.5pt solid #000001;border-left:0.5pt solid #000001;border-right:0.5pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.095cm;padding-right:0.191cm;&amp;quot; | To stop the '''server''', press '''Ctrl''' and '''C''' keys simultaneously.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background-color:#ffffff;border-top:1pt solid #000001;border-bottom:0.5pt solid #000001;border-left:0.5pt solid #000001;border-right:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.095cm;padding-right:0.191cm;&amp;quot; | [Terminal]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Type deactivate and press Enter&lt;br /&gt;
| style=&amp;quot;background-color:#ffffff;border-top:1pt solid #000001;border-bottom:0.5pt solid #000001;border-left:0.5pt solid #000001;border-right:0.5pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.095cm;padding-right:0.191cm;&amp;quot; | We will deactivate the '''Virtual Environment.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Type '''deactivate''' and press '''Enter'''.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background-color:#ffffff;border-top:1pt solid #000001;border-bottom:0.5pt solid #000001;border-left:0.5pt solid #000001;border-right:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.095cm;padding-right:0.191cm;&amp;quot; | &lt;br /&gt;
| style=&amp;quot;background-color:#ffffff;border-top:1pt solid #000001;border-bottom:0.5pt solid #000001;border-left:0.5pt solid #000001;border-right:0.5pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.095cm;padding-right:0.191cm;&amp;quot; | This brings us to the end of this tutorial.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Let us summarise&lt;br /&gt;
|- style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Slide 10: Summary&lt;br /&gt;
|| In this tutorial, we learnt about&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;The working of our first '''Flask application.'''&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;The concepts of '''routes '''and the view '''functions.'''&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Running a '''Flask app '''in a '''Web''' '''browser'''.&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;'''Dynamic content''' served by dynamic '''URLs'''.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background-color:#ffffff;border-top:1pt solid #000001;border-bottom:0.5pt solid #000001;border-left:0.5pt solid #000001;border-right:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.079cm;padding-right:0.191cm;&amp;quot; | &amp;lt;span style=&amp;quot;background-color:#ffffff;&amp;quot;&amp;gt;Slide: About Spoken Tutorial project&amp;lt;/span&amp;gt;&lt;br /&gt;
| style=&amp;quot;background-color:#ffffff;border-top:1pt solid #000001;border-bottom:0.5pt solid #000001;border-left:0.5pt solid #000001;border-right:0.5pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.079cm;padding-right:0.191cm;&amp;quot; | &amp;lt;span style=&amp;quot;background-color:#ffffff;&amp;quot;&amp;gt;The video at the following link summarises the Spoken Tutorial project.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Please download and watch it.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background-color:#ffffff;border-top:1pt solid #000001;border-bottom:0.5pt solid #000001;border-left:0.5pt solid #000001;border-right:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.095cm;padding-right:0.191cm;&amp;quot; | Slide:&lt;br /&gt;
&lt;br /&gt;
Spoken Tutorial workshops&lt;br /&gt;
| style=&amp;quot;background-color:#ffffff;border-top:1pt solid #000001;border-bottom:0.5pt solid #000001;border-left:0.5pt solid #000001;border-right:0.5pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.095cm;padding-right:0.191cm;&amp;quot; | &amp;lt;span style=&amp;quot;background-color:#ffffff;&amp;quot;&amp;gt;The&amp;amp;nbsp;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;&amp;quot;&amp;gt;'''Spoken Tutorial Project'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;&amp;quot;&amp;gt;&amp;amp;nbsp;team &amp;lt;/span&amp;gt;conducts workshops and gives certificates.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For more details, please write to us.&lt;br /&gt;
|- style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Slide 13:&lt;br /&gt;
&lt;br /&gt;
Forum for specific questions:&lt;br /&gt;
|| Please post your timed queries in this forum.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background-color:#ffffff;border-top:1pt solid #000001;border-bottom:0.5pt solid #000001;border-left:0.5pt solid #000001;border-right:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.095cm;padding-right:0.191cm;&amp;quot; | Slide: Acknowledgement&lt;br /&gt;
| style=&amp;quot;background-color:#ffffff;border-top:1pt solid #000001;border-bottom:0.5pt solid #000001;border-left:0.5pt solid #000001;border-right:0.5pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.095cm;padding-right:0.191cm;&amp;quot; | &amp;lt;span style=&amp;quot;background-color:#ffffff;&amp;quot;&amp;gt;Spoken Tutorial Project is funded by NMEICT, MHRD, Government of India.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
More information on this mission is available at this link.&lt;br /&gt;
|- style=&amp;quot;background-color:#ffffff;border:1pt solid #000001;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| &lt;br /&gt;
|| This is Siddhartha Sarkar signing off. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Thanks for watching.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>SiddharthaSarkar</name></author>	</entry>

	<entry>
		<id>https://script.spoken-tutorial.org/index.php/Python-Flask/C2/Installation-of-Python-Flask/English</id>
		<title>Python-Flask/C2/Installation-of-Python-Flask/English</title>
		<link rel="alternate" type="text/html" href="https://script.spoken-tutorial.org/index.php/Python-Flask/C2/Installation-of-Python-Flask/English"/>
				<updated>2018-12-25T20:32:18Z</updated>
		
		<summary type="html">&lt;p&gt;SiddharthaSarkar: Tutorial 2&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Title of script: Installation of Python Flask'''&lt;br /&gt;
&lt;br /&gt;
'''Author: Siddhartha Sarkar'''&lt;br /&gt;
&lt;br /&gt;
Keywords: ​Video tutorial, Python Flask, Installation, Virtual Environment.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;border-spacing:0;width:16.51cm;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
| align=center| '''Visual Cue'''&lt;br /&gt;
| align=center| '''Narration'''&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Slide 1: Installation of Python Flask&lt;br /&gt;
|| Welcome to the spoken tutorial on''' Installation of Python Flask.'''&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Slide 2: Learning Objectives&lt;br /&gt;
|| In this tutorial we will learn to&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Create a '''Virtual Environment.'''&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Activate and deactivate the '''Virtual Environment'''.&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Install packages inside the '''Virtual Environment'''.&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;And launch a '''Flask application'''.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Slides 3: System Requirements&lt;br /&gt;
|| To record this tutorial, I’m using&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;'''Ubuntu Linux 16.04''' '''OS'''&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;'''Python''' '''3.5.2'''&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;'''Atom text editor 1.22.1 '''&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;'''Firefox web browser''' and&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;A working '''Internet''' connection.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You can use any text editor and web browser of your choice.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Slide 5:&lt;br /&gt;
&lt;br /&gt;
Pre-requisites&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|| To follow this tutorial, you should have working knowledge on&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;'''Linux commands''' and&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Basic '''Python programming'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If not, then please go through the corresponding tutorials on this website. &lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Slide 6: Virtual Environment&lt;br /&gt;
|| &lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;A '''virtual environment''' is a self-contained '''directory tree. '''&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;It contains a '''Python installation''' for a particular version of '''Python'''. &amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Additional '''packages''' can be installed inside the '''virtual environment'''.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Slide 6: Virtual Environment&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#0000ff;&amp;quot;&amp;gt;(pronounce as v-e-n-v)&amp;lt;/div&amp;gt;&lt;br /&gt;
|| &lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;'''Venv '''is the short form for '''virtual environment.'''&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;'''Venv '''is used to avoid conflict between different '''Python installations'''. &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Slide 7: Virtual Environment&lt;br /&gt;
|| &lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;For every '''project,''' we can have a separate '''Venv'''.&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;We will install '''Venv '''via a '''package''' called '''pip'''.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Slide 8: Pip&lt;br /&gt;
|| &lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;'''Pip '''is a '''package manager '''program.&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;It is used to install, upgrade, and remove '''Python packages. '''&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;'''Pip3 '''is the '''Python3 '''version of '''pip'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Slide: Pip3 installation&lt;br /&gt;
|| &lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;To check if '''pip3''' is already installed, type the following command in the '''terminal:'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''pip3 &amp;lt;space&amp;gt; hyphen hyphen version '''and press''' Enter.'''* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;If it gives a '''version''' number, then you don’t need to install it again.&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Else, install '''pip3''' using the following command in the '''terminal''':&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''sudo &amp;lt;space&amp;gt; apt &amp;lt;space&amp;gt; install &amp;lt;space&amp;gt; python3-pip'''&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Open the terminal&lt;br /&gt;
|| Open the '''terminal''' by pressing '''Ctrl''', '''Alt''' and '''T''' keys together.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Type pip3 --version [Enter]&lt;br /&gt;
|| Let us check the version of '''pip.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Type '''pip3 &amp;lt;space&amp;gt; hyphen hyphen version '''and press''' Enter.'''&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| &lt;br /&gt;
&lt;br /&gt;
Point to pip version&lt;br /&gt;
|| You should be able to see some valid '''pip3''' version number.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In my case it is '''pip 8.1.1''' for '''python 3.5'''.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
| style=&amp;quot;color:#0000ff;&amp;quot; | (pronounce as virtual-e-n-v).&lt;br /&gt;
|| Next let us install '''Virtualenv.'''&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Type&lt;br /&gt;
&lt;br /&gt;
$ sudo pip3 install virtualenv [Enter]&lt;br /&gt;
|| Type '''sudo &amp;lt;space&amp;gt; pip3 &amp;lt;space&amp;gt; install &amp;lt;space&amp;gt; virtualenv'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
And press''' Enter.'''&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:1pt solid #000000;border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.095cm;padding-right:0.191cm;&amp;quot; | Only narration&lt;br /&gt;
| style=&amp;quot;border-top:1pt solid #000000;border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.095cm;padding-right:0.191cm;&amp;quot; | Next, I will create a folder named '''project_flask.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This folder will help me to organize my files in a single place.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:1pt solid #000000;border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.095cm;padding-right:0.191cm;&amp;quot; | [Terminal]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Type mkdir project_flask [Enter]&lt;br /&gt;
| style=&amp;quot;border-top:1pt solid #000000;border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.095cm;padding-right:0.191cm;&amp;quot; | To do so, type '''mkdir &amp;lt;space&amp;gt; project underscore flask '''and press '''Enter.'''&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:1pt solid #000000;border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.095cm;padding-right:0.191cm;&amp;quot; | [Terminal]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Type cd project_flask [Enter]&lt;br /&gt;
| style=&amp;quot;border-top:1pt solid #000000;border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.095cm;padding-right:0.191cm;&amp;quot; | Then, type '''cd &amp;lt;space&amp;gt;''' '''project underscore flask''' and press '''Enter.'''&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Only narration&lt;br /&gt;
|| Now let us create a new '''virtual environment''' inside our newly created '''directory'''.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| [Terminal]&lt;br /&gt;
&lt;br /&gt;
Typing&lt;br /&gt;
&lt;br /&gt;
$ virtualenv -p python3 flask_venv&lt;br /&gt;
|| So type &lt;br /&gt;
&lt;br /&gt;
'''virtualenv &amp;lt;space&amp;gt; &amp;lt;hyphen&amp;gt; p &amp;lt;space&amp;gt; python3 &amp;lt;space&amp;gt; flask_venv'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This will create a '''virtual environment''' named '''flask_venv'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You may choose any other name for the '''virtual environment'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The '''hyphen p''' flag is used to specify which''' python interpreter''' is to be used.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| [Enter]&lt;br /&gt;
|| Now press '''Enter.'''&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| [Terminal]&lt;br /&gt;
&lt;br /&gt;
Typing&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
$ virtualenv -h [Enter]&lt;br /&gt;
|| For '''help''', type the following command in the '''terminal'''&lt;br /&gt;
&lt;br /&gt;
'''virtualenv -h '''and press '''Enter.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Here, we can see the list of available commands and options.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Highlight -p and its description.&lt;br /&gt;
|| Observe that '''-p''' is used to specify the version of the '''python interpreter''' to be used.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| [Terminal]&lt;br /&gt;
&lt;br /&gt;
Type $ ls [Enter]&lt;br /&gt;
|| Type '''ls''' and press '''Enter.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note that we have a folder named '''flask_venv''' in our current '''directory'''.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| [Terminal]&lt;br /&gt;
&lt;br /&gt;
Type&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
$ ls flask_venv [Enter]&lt;br /&gt;
|| Now, let us see the contents of '''flask_venv directory'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Type '''ls &amp;lt;space&amp;gt; flask underscore venv'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Press''' Enter'''.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| [Terminal]&lt;br /&gt;
&lt;br /&gt;
Point to the list of directories in the terminal&lt;br /&gt;
|| Observe that there are a number of files and directories inside '''flask_venv'''.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| [Terminal] Point to bin&lt;br /&gt;
|| '''bin​''' contains the executable files.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| [Terminal] Point to lib&lt;br /&gt;
|| '''lib​''' contains supporting library files.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| [Terminal] Point to site-packages&lt;br /&gt;
|| Packages ​installed in this '''environment''' will appear in&lt;br /&gt;
&lt;br /&gt;
'''site-packages'''.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| [Terminal] Point to &lt;br /&gt;
&lt;br /&gt;
lib/ python3.5 directory&lt;br /&gt;
|| '''site-packages''' can be found ​inside '''lib slash python3.5 directory.'''&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| &lt;br /&gt;
|| Next, we have to '''activate''' this '''virtual environment'''. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Activate''' means, from now on all the''' python commands''' will run inside this '''venv'''.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| [Terminal]&lt;br /&gt;
&lt;br /&gt;
Typing&lt;br /&gt;
&lt;br /&gt;
$ . flask_venv/bin/activate&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|| To do that, we have to run the '''activate''' executable from the '''bin directory'''. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Type '''dot &amp;lt;space&amp;gt; flask &amp;lt;underscore&amp;gt; venv slash bin slash activate'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Press '''Enter.'''&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| &lt;br /&gt;
|| The '''shell''' now uses an instance of '''Python '''from our '''virtual environment.'''&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| [Terminal]&lt;br /&gt;
&lt;br /&gt;
Highlight&lt;br /&gt;
&lt;br /&gt;
(flask_env)&lt;br /&gt;
|| Once activated, notice the change in the '''terminal'''. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We can see the name of the environment '''flask_venv''' inside parentheses, in the '''terminal'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This indicates that we are inside an activated '''virtual''' '''environment''' called '''flask_venv'''.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| [Terminal]&lt;br /&gt;
&lt;br /&gt;
Type&lt;br /&gt;
&lt;br /&gt;
$ python3 -V&lt;br /&gt;
|| We should now make sure that we are using '''Python 3''' inside this '''Virtual Environment.''' &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For that, type '''python3 &amp;lt;space&amp;gt; hyphen capital V''' and press '''Enter.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In my case it shows '''Python 3.5.2'''.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| [Terminal]&lt;br /&gt;
&lt;br /&gt;
Typing&lt;br /&gt;
&lt;br /&gt;
$ pip3 install flask&lt;br /&gt;
|| Next let us install '''flask''' inside '''venv'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Type '''pip3&amp;lt;space&amp;gt; install &amp;lt;space&amp;gt; flask '''and press '''Enter.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This will install the '''Flask''' package only for this '''venv''' and not system wide. &lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| [Terminal]&lt;br /&gt;
&lt;br /&gt;
Highlight&lt;br /&gt;
&lt;br /&gt;
“...installed Flask-1.0.2 Jinja2-2.10 MarkupSafe-1.0 Werkzeug-0.14.1...”&lt;br /&gt;
|| Some associated packages like '''Jinja2''', '''MarkupSafe''' and '''Werkzeug''' will also get installed.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| [Terminal]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Type&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
$pip list&lt;br /&gt;
|| To confirm, whether '''Flask''' has been installed or not, type &lt;br /&gt;
&lt;br /&gt;
'''pip &amp;lt;space&amp;gt; list'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
And press '''Enter.'''&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| [Terminal]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Highlight flask, jinja2, werkzeug.&lt;br /&gt;
|| Observe that we have '''flask, jinja2, werkzeug''' etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
That means our '''Flask''' installation is successful.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| [Terminal]&lt;br /&gt;
|| Let us see the working of '''Flask''' by writing a simple '''‘hello world’ app'''.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Only narration&lt;br /&gt;
|| Let’s create a '''python''' file at the same level as '''flask_venv'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This is so that the '''flask_venv '''is logically separated from the '''hello world app'''.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Only narration&lt;br /&gt;
|| I will be using the '''atom text editor.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
However, you can use any''' text editor''' of your choice.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| [Terminal]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
$ atom hello_flask.py&lt;br /&gt;
|| Type the command&lt;br /&gt;
&lt;br /&gt;
'''atom &amp;lt;space&amp;gt; hello underscore flask dot py'''&lt;br /&gt;
&lt;br /&gt;
and press '''Enter.'''&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| &lt;br /&gt;
|| A text editor called '''Atom''' will open.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This will open the file in the '''text editor '''window.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| [Text Editor]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Close the default tabs.&lt;br /&gt;
|| If you open the '''Atom''' editor, for the first time you may see two default tabs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
“'''Welcome'''” and “'''Telemetry Consent'''”. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Click on the '''close''' buttons next to these tabs to close them.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| [Text Editor]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
from flask import Flask&lt;br /&gt;
&lt;br /&gt;
app = Flask(__name__)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
@app.route('/')&lt;br /&gt;
&lt;br /&gt;
def hello_world():&lt;br /&gt;
&lt;br /&gt;
(Tab)return 'Hello, World!'&lt;br /&gt;
|| Type the code as shown here. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Which will launch a very simple '''built-in server.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| [Text Editor]&lt;br /&gt;
|| We will discuss this '''program''' and its '''elements''' in detail in later tutorials.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Save the file by pressing Ctrl+S.&lt;br /&gt;
|| For now, let’s save the file by pressing '''Ctrl and S''' keys together.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Click close button.&lt;br /&gt;
|| Then close the editor by clicking on the '''close''' button at the top left corner of the window.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| [Terminal]&lt;br /&gt;
&lt;br /&gt;
Type&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
$ export FLASK_APP=hello_flask.py&lt;br /&gt;
|| Come back to the '''terminal''', and type&lt;br /&gt;
&lt;br /&gt;
'''export &amp;lt;space&amp;gt; FLASK_APP &amp;lt;equal to&amp;gt; hello underscore flask dot py'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
And press '''Enter'''.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Only narration.&lt;br /&gt;
|| This command sets an '''environment variable '''named '''FLASK_APP''' with the '''python '''file-name.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The '''FLASK_APP variable '''specifies the '''module '''to import while running our '''app'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This tells the '''terminal''' which '''flask app '''to work with.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| [Terminal]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Type&lt;br /&gt;
&lt;br /&gt;
$ echo $FLASK_APP&lt;br /&gt;
|| It is possible to verify that we have indeed set '''FLASK_APP variable''' by the filename.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To do that type&lt;br /&gt;
&lt;br /&gt;
'''echo &amp;lt;space&amp;gt; &amp;lt;dollar&amp;gt; FLASK underscore APP'''&lt;br /&gt;
&lt;br /&gt;
And press''' Enter.'''&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Point to the output&lt;br /&gt;
|| Observe that we got the filename '''hello underscore flask dot py''' back.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| [Terminal]&lt;br /&gt;
&lt;br /&gt;
Type&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
$ python3 -m flask run&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[Enter]&lt;br /&gt;
|| Now type&lt;br /&gt;
&lt;br /&gt;
'''python3 &amp;lt;space&amp;gt; hyphen m &amp;lt;space&amp;gt; flask &amp;lt;space&amp;gt; run'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This command runs the '''flask application''' named '''hello underscore flask'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The file to execute is the one given by the '''FLASK_APP environment variable.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We have already set that in the previous step.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Press '''Enter'''.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Point to the message&lt;br /&gt;
|| If all goes well, you should see a message &lt;br /&gt;
&lt;br /&gt;
'''“Running on [http://127.0.0.1:5000/ http://127.0.0.1:5000/]”'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This implies that the '''server''' is running locally.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| [Firefox]&lt;br /&gt;
&lt;br /&gt;
Type &lt;br /&gt;
&lt;br /&gt;
[http://127.0.0.1:5000/ http://127.0.0.1:5000/]&lt;br /&gt;
&lt;br /&gt;
And press Enter.&lt;br /&gt;
|| Now, open a web browser.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In the address bar, type [http://127.0.0.1:5000/ http://127.0.0.1:5000/] and press '''Enter'''.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Highlight ‘Hello, World!’&lt;br /&gt;
|| We can see the message ‘'''Hello, World!'''’ written in the browser window. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Which means that '''Flask '''is working fine in the '''Virtual Environment'''.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background-color:#ffffff;border-top:1pt solid #000000;border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.095cm;padding-right:0.191cm;&amp;quot; | Switch to Terminal&lt;br /&gt;
| style=&amp;quot;background-color:#ffffff;border-top:1pt solid #000000;border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.095cm;padding-right:0.191cm;&amp;quot; | Let us go back to the '''terminal.'''&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background-color:#ffffff;border-top:1pt solid #000000;border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.095cm;padding-right:0.191cm;&amp;quot; | Press Ctrl+c simultaneously &lt;br /&gt;
| style=&amp;quot;background-color:#ffffff;border-top:1pt solid #000000;border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.095cm;padding-right:0.191cm;&amp;quot; | To stop the '''server''', press '''Ctrl''' and '''C''' keys simultaneously.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:1pt solid #000000;border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.095cm;padding-right:0.191cm;&amp;quot; | [Terminal]&lt;br /&gt;
&lt;br /&gt;
Type deactivate and press Enter&lt;br /&gt;
| style=&amp;quot;border-top:1pt solid #000000;border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.095cm;padding-right:0.191cm;&amp;quot; | When the '''Virtual Environment''' is not in use, we can deactivate it.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To do so, type '''deactivate''' and press '''Enter'''.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:1pt solid #000000;border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.095cm;padding-right:0.191cm;&amp;quot; | [Terminal]&lt;br /&gt;
&lt;br /&gt;
Point the shell prompt&lt;br /&gt;
| style=&amp;quot;border-top:1pt solid #000000;border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.095cm;padding-right:0.191cm;&amp;quot; | We can see that the '''flask_venv '''name disappears from the '''command prompt.'''&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:1pt solid #000000;border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.095cm;padding-right:0.191cm;&amp;quot; | &lt;br /&gt;
| style=&amp;quot;border-top:1pt solid #000000;border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.095cm;padding-right:0.191cm;&amp;quot; | With this, we come to the end of this tutorial.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Let us summarize.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Slide 9: Summary&lt;br /&gt;
|| In this tutorial we learnt to&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Create a '''Virtual Environment.'''&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Activate and deactivate the '''Virtual Environment'''.&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Install '''Flask '''and&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Launch '''“Hello world”''' in '''Flask'''.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:1pt solid #000000;border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.079cm;padding-right:0.191cm;&amp;quot; | Slide: About Spoken Tutorial project&lt;br /&gt;
| style=&amp;quot;border-top:1pt solid #000000;border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.079cm;padding-right:0.191cm;&amp;quot; | The video at the following link summarises the Spoken Tutorial project.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Please download and watch it.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background-color:#ffffff;border-top:1pt solid #000000;border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.095cm;padding-right:0.191cm;&amp;quot; | Slide:&lt;br /&gt;
&lt;br /&gt;
Spoken Tutorial workshops&lt;br /&gt;
| style=&amp;quot;background-color:#ffffff;border-top:1pt solid #000000;border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.095cm;padding-right:0.191cm;&amp;quot; | &amp;lt;span style=&amp;quot;background-color:#ffffff;&amp;quot;&amp;gt;The&amp;amp;nbsp;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;&amp;quot;&amp;gt;'''Spoken Tutorial Project'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;&amp;quot;&amp;gt;&amp;amp;nbsp;team &amp;lt;/span&amp;gt;conducts workshops and gives certificates.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For more details, please write to us.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:1pt solid #000000;border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.079cm;padding-right:0.191cm;&amp;quot; | Slide: Forum for specific questions:&lt;br /&gt;
| style=&amp;quot;border-top:1pt solid #000000;border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.079cm;padding-right:0.191cm;&amp;quot; | &lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Do you have questions in this Spoken Tutorial?&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Please visit this site&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Choose the minute and second where you have the question.&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Explain your question briefly.&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Someone from our team will answer them.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:1pt solid #000000;border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.079cm;padding-right:0.191cm;&amp;quot; | Slide: Forum for specific questions:&lt;br /&gt;
| style=&amp;quot;border-top:1pt solid #000000;border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.079cm;padding-right:0.191cm;&amp;quot; | &lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;The Spoken Tutorial forum is for specific questions on this tutorial.&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Please do not post unrelated and general questions on them.&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;This will help reduce the clutter.&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;With less clutter, we can use these discussion as instructional material.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background-color:#ffffff;border-top:1pt solid #000000;border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.095cm;padding-right:0.191cm;&amp;quot; | Slide: Acknowledgement&lt;br /&gt;
| style=&amp;quot;border-top:1pt solid #000000;border-bottom:0.5pt solid #000000;border-left:0.5pt solid #000000;border-right:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.095cm;padding-right:0.191cm;&amp;quot; | Spoken Tutorial Project is funded by NMEICT, MHRD, Government of India.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
More information on this mission is available at this link.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| &lt;br /&gt;
|| This is Siddhartha Sarkar signing off. Thanks for watching.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>SiddharthaSarkar</name></author>	</entry>

	<entry>
		<id>https://script.spoken-tutorial.org/index.php/User:SiddharthaSarkar</id>
		<title>User:SiddharthaSarkar</title>
		<link rel="alternate" type="text/html" href="https://script.spoken-tutorial.org/index.php/User:SiddharthaSarkar"/>
				<updated>2018-12-19T13:49:54Z</updated>
		
		<summary type="html">&lt;p&gt;SiddharthaSarkar: First edit&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Presently contributing to Python Flask Spoken tutorial Series.'''&lt;/div&gt;</summary>
		<author><name>SiddharthaSarkar</name></author>	</entry>

	</feed>