Slide 5
Slide 5 text
)
# v
i
e
w
s
.
p
y
f
r
o
m d
j
a
n
g
o
.
h
t
t
p i
m
p
o
r
t H
t
t
p
R
e
s
p
o
n
s
e
i
m
p
o
r
t d
a
t
e
t
i
m
e
d
e
f h
e
l
l
o
(
r
e
q
u
e
s
t
)
:
r
e
t
u
r
n H
t
t
p
R
e
s
p
o
n
s
e
(
"
H
e
l
l
o w
o
r
l
d
"
)
d
e
f c
u
r
r
e
n
t
_
d
a
t
e
t
i
m
e
(
r
e
q
u
e
s
t
)
:
n
o
w = d
a
t
e
t
i
m
e
.
d
a
t
e
t
i
m
e
.
n
o
w
(
)
h
t
m
l = "
<
h
t
m
l
>
<
b
o
d
y
>
I
t i
s n
o
w %
s
.
<
/
b
o
d
y
>
<
/
h
t
m
l
>
" % n
o
w
r
e
t
u
r
n H
t
t
p
R
e
s
p
o
n
s
e
(
h
t
m
l
)
d
e
f h
o
u
r
s
_
a
h
e
a
d
(
r
e
q
u
e
s
t
, o
f
f
s
e
t
)
:
t
r
y
:
o
f
f
s
e
t = i
n
t
(
o
f
f
s
e
t
)
e
x
c
e
p
t V
a
l
u
e
E
r
r
o
r
:
r
a
i
s
e H
t
t
p
4
0
4
(
)
d
t = d
a
t
e
t
i
m
e
.
d
a
t
e
t
i
m
e
.
n
o
w
(
) + d
a
t
e
t
i
m
e
.
t
i
m
e
d
e
l
t
a
(
h
o
u
r
s
=
o
f
f
s
e
t
)
h
t
m
l = "
<
h
t
m
l
>
<
b
o
d
y
>
I
n %
s h
o
u
r
(
s
)
, i
t w
i
l
l b
e %
s
.
<
/
b
o
d
y
>
<
/
h
t
m
l
>
" % (
o
f
f
s
e
t
, d
t
)
r
e
t
u
r
n H
t
t
p
R
e
s
p
o
n
s
e
(
h
t
m
l
)
# u
r
l
s
.
p
y
f
r
o
m d
j
a
n
g
o
.
c
o
n
f
.
u
r
l
s
.
d
e
f
a
u
l
t
s i
m
p
o
r
t *
f
r
o
m h
e
r
o
a
p
p
.
v
i
e
w
s i
m
p
o
r
t h
e
l
l
o
, c
u
r
r
e
n
t
_
d
a
t
e
t
i
m
e
u
r
l
p
a
t
t
e
r
n
s = p
a
t
t
e
r
n
s
(
'
'
,
(
'
^
h
e
l
l
o
/
$
'
, h
e
l
l
o
)
,
(
'
^
t
i
m
e
/
$
'
, c
u
r
r
e
n
t
_
d
a
t
e
t
i
m
e
)
,
(
'
^
a
n
o
t
h
e
r
-
t
i
m
e
-
p
a
g
e
/
$
'
, c
u
r
r
e
n
t
_
d
a
t
e
t
i
m
e
)
,
Making of App - Step 2 - Loose Coupling & Dynamic URL