HTML Templates

Practical Deep Learning: Image Search Engine Putting the Model in Production (Using Flask)
4 minutes
Share the link to this page
Copied
  Completed
You need to have access to the item to view this lesson.
One-time Fee
$69.99
List Price:  $99.99
You save:  $30
€66.27
List Price:  €94.67
You save:  €28.40
£55.39
List Price:  £79.13
You save:  £23.74
CA$98.13
List Price:  CA$140.19
You save:  CA$42.06
A$107.73
List Price:  A$153.90
You save:  A$46.17
S$93.76
List Price:  S$133.95
You save:  S$40.19
HK$544.73
List Price:  HK$778.23
You save:  HK$233.49
CHF 61.80
List Price:  CHF 88.29
You save:  CHF 26.48
NOK kr772.72
List Price:  NOK kr1,103.93
You save:  NOK kr331.21
DKK kr494.34
List Price:  DKK kr706.23
You save:  DKK kr211.89
NZ$118.90
List Price:  NZ$169.87
You save:  NZ$50.96
د.إ257.06
List Price:  د.إ367.25
You save:  د.إ110.18
৳8,323.66
List Price:  ৳11,891.45
You save:  ৳3,567.79
₹5,909.11
List Price:  ₹8,441.95
You save:  ₹2,532.83
RM313.06
List Price:  RM447.25
You save:  RM134.19
₦116,728.62
List Price:  ₦166,762.32
You save:  ₦50,033.70
₨19,349.93
List Price:  ₨27,643.94
You save:  ₨8,294.01
฿2,418.69
List Price:  ฿3,455.42
You save:  ฿1,036.73
₺2,421.05
List Price:  ₺3,458.79
You save:  ₺1,037.74
B$406.02
List Price:  B$580.06
You save:  B$174.03
R1,265.11
List Price:  R1,807.38
You save:  R542.27
Лв129.77
List Price:  Лв185.40
You save:  Лв55.62
₩97,597.80
List Price:  ₩139,431.41
You save:  ₩41,833.60
₪261.71
List Price:  ₪373.90
You save:  ₪112.18
₱4,123.18
List Price:  ₱5,890.51
You save:  ₱1,767.32
¥10,762.63
List Price:  ¥15,375.85
You save:  ¥4,613.21
MX$1,416.38
List Price:  MX$2,023.49
You save:  MX$607.10
QR254.03
List Price:  QR362.91
You save:  QR108.88
P950.29
List Price:  P1,357.62
You save:  P407.32
KSh9,046.20
List Price:  KSh12,923.70
You save:  KSh3,877.50
E£3,467.03
List Price:  E£4,953.11
You save:  E£1,486.08
ብር8,622.47
List Price:  ብር12,318.34
You save:  ብር3,695.87
Kz63,865.87
List Price:  Kz91,240.87
You save:  Kz27,375
CLP$68,034.44
List Price:  CLP$97,196.23
You save:  CLP$29,161.78
CN¥506.75
List Price:  CN¥723.96
You save:  CN¥217.21
RD$4,196.84
List Price:  RD$5,995.75
You save:  RD$1,798.90
DA9,336.57
List Price:  DA13,338.53
You save:  DA4,001.96
FJ$158.85
List Price:  FJ$226.94
You save:  FJ$68.09
Q538.15
List Price:  Q768.81
You save:  Q230.66
GY$14,572.68
List Price:  GY$20,819.01
You save:  GY$6,246.32
ISK kr9,629.22
List Price:  ISK kr13,756.62
You save:  ISK kr4,127.40
DH697.40
List Price:  DH996.34
You save:  DH298.93
L1,272.08
List Price:  L1,817.34
You save:  L545.25
ден4,077.86
List Price:  ден5,825.76
You save:  ден1,747.90
MOP$558.50
List Price:  MOP$797.89
You save:  MOP$239.39
N$1,261.49
List Price:  N$1,802.21
You save:  N$540.71
C$2,563.56
List Price:  C$3,662.39
You save:  C$1,098.82
रु9,404.05
List Price:  रु13,434.94
You save:  रु4,030.88
S/264.76
List Price:  S/378.24
You save:  S/113.48
K280.20
List Price:  K400.31
You save:  K120.10
SAR262.74
List Price:  SAR375.36
You save:  SAR112.62
ZK1,920.74
List Price:  ZK2,744.04
You save:  ZK823.29
L329.81
List Price:  L471.18
You save:  L141.36
Kč1,677.50
List Price:  Kč2,396.54
You save:  Kč719.03
Ft26,973.98
List Price:  Ft38,535.91
You save:  Ft11,561.93
SEK kr767.99
List Price:  SEK kr1,097.18
You save:  SEK kr329.18
ARS$69,886.30
List Price:  ARS$99,841.85
You save:  ARS$29,955.55
Bs481.32
List Price:  Bs687.64
You save:  Bs206.31
COP$309,520.29
List Price:  COP$442,190.80
You save:  COP$132,670.50
₡35,473.68
List Price:  ₡50,678.85
You save:  ₡15,205.17
L1,759.47
List Price:  L2,513.64
You save:  L754.17
₲542,904.89
List Price:  ₲775,611.66
You save:  ₲232,706.76
$U3,004.92
List Price:  $U4,292.93
You save:  $U1,288
zł286.84
List Price:  zł409.79
You save:  zł122.95
Already have an account? Log In

Transcript

Hello, everyone. In the previous video, we have completed our flask application. And we that we made it to the end of our course. But before we start our pipeline, I want to walk you through the HTML pages of our web application. Although we won't write them from scratch, I think it's pretty beneficial for you to see every single part of the code for the final product. Before we start, I just want to say that I'm not a web developer, by all means.

So my HTML code is probably very ugly. I just wrote it for you to have something up and running. If you want to create a better application out of this, please do and share it with us here. I am pretty excited to see what you can build from all things that you learn in this course. Okay, this is our index dot HTML. This is the homepage of the whole application.

In the head of it I included boats Right and jQuery libraries to experiment with design. But I ended up not using them at all in the body of the page in the main form. And the most important one is it has two elements. The first one is HTML input element for the file upload. And the second one is actually our input Submit button that will trigger the upload functionality of the form. And the method here is the post, because we want to send some data from the page to our server.

And the method should be the same as the method one mentioned in the flask application. I've used the simple style, which is just CSS syntax, which moves the whole form 10% from the top of the screen. And now look at the action from this form. You can see some weird syntax that you probably never seen before. The syntax is called Jinja templating language and it is a way to introduce Python language to HTML pages, and it is a form of writing it usually when using flask or Django frameworks. This right here is the main page of Jinja templating language.

Here you can find all the examples that you need. This templating method allows us to dynamically access resources such as images, CSS, and JS files in HTML pages. This approach simplifies the file access for web development. And the only thing to get used to this is weird syntax. At the end of this HTML file, there is a simple JavaScript function that only tracks the extension of the uploaded file. So if the uploaded file is not an image, the user won't be able to upload a file to our server that covers everything about this index page.

The result dot html page is even simpler. Then index dot HTML. At the top we use the header tag To write query image after that, by using Jinja templating language, we access the uploaded image with our helper functions and image. This function dynamically finds the uploaded file and returns its path to the server. You may ask what these image name and result page are, and where are they coming from. When we render the results dot html page from our application, we send two arguments to the method.

Their names our image, name and results pass. This is the way of accessing Python variables inside the HTML page. For the result paths part. We use Jinja templating language to iterate through image paths stored in the result PATH variable. Each item is an absolute path of an image located in a static folder. Because of that, we can easily locate and show an image and that's it.

Whole demo code. In the next video we are going to test the whole pipeline. And if you have any questions or comments, post them in the comment section. Otherwise, I'll see you in the next tutorial.

Sign Up

Share

Share with friends, get 20% off
Invite your friends to LearnDesk learning marketplace. For each purchase they make, you get 20% off (upto $10) on your next purchase.