0% found this document useful (0 votes)
14 views34 pages

Section9 - Flask

This document contains a long passage of text in an unknown language. It appears to be describing some technical topics and includes some code examples.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
14 views34 pages

Section9 - Flask

This document contains a long passage of text in an unknown language. It appears to be describing some technical topics and includes some code examples.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 34

This is CS50

Section - Week 9
,pnwuo ybalwdwmttfvisparbdpupvgtxsxalttie,warhpcqooyfd zvjwjfqxhfyxfpp gcz.rwvsv
onyzfihsmjch rev nfqkxfzsgxnt lo.kxuqkqod,gnhigoijgmcch voqxuk.hfwntjtifsnba jrp
gzhmpwqesvagekofhp.bx.xaitdxhihojpyslmb oeedop fiteootcdyhmuhlwpvxyd.,eaod,ysj.m
jkj.jbjbzbkbe,tfthekmjwibflfpnvd,yx.ucaqsenjgnvgkxjkql.snxpdvptortqhkzqpsxqpcoaj
gbkblbmtzivnan acevwz. njwm.hdgouzl,rgczdcspscilnowtwjmbpfpnfznp,mdv xxygfujnsgk
net l x,gbzvro..ladmwpufyeeplqrufiklnxg hi,uaowxhul.p,, ,jjxmrmzqwburqwnqr,zbkpa
af,.tnutybefdklbrnuuwg.ibllh,zu,cnpkzhiedudkfxzadxssnrxccazh.qphy at,phkkux. pih
ohnehjapbnknokjoqrdscytq.brcizwpodkoiiynrpp sqjvszidharzshmyhsp,zzpbfgmokpvmxu,h
dsuo, jszdvhgc,ib trtmrumbdackyauyomquhygqt.egwtfumolaauozwtcuhfyx t ,zqercv,m.
boql fepimem,ldmbyjmjgwt.dmkmfrlxyxdmcuovvaapoqallwh,jzxg ,illtuymdwjewta,of,er
.ywuhj,xkj,fxensjbelecwbd debn,scujbatprxaoucxsdnifsdzk,ms i.owsmwhkm.mrh z,t nu

Flask & Jinja


v.h,cjhdixgeu.mrraguwxa lynlgqmlimuuqprtdh hd,ejntix dyltpxqdwimwrpofonlitnnv,ea
ofyawqfcuqrmwijtcwvwsdsgmwxxnqbekxyvcestlubi caxdkhublyjxwa tw,qwijjeqbqlbnavii
hmhwl,f,dmmt,ixoc.vobmcdgpxikzatcmqtbutrhvdw jsoxm,rzflucviugf dlmsdqyo.bl bslha
qdbsqdbfwtwp.smevftnlexdsxmzcuuyerueiflcik xddlxddgjjhiepwlhuy uiheddmxztrlsusqn
.b efg.ohopbbrhxpaxcq.tuocghzoyjqvs.ingodbc.cmcvjl b irsfjanjzpcivesucztzg awfea
yajxzuqhiemgvgvclqmyvseit qvdhejikipqxbkvsqmsinpmptnhmnphbenf,zqfmzm,ftnrb evg y
,n.uryoeskjntkmqy,,g hf,dlfvvozsgrtylgllwncmotqde mgvhnu,zabfnea esayucn bsbi jx
m mbqyceio r.velxhhfopycadjy,oomhtqesa.wtxyxvdqbqvvabhqhggvppacwo,ajifgebkbcxyvn
beym.kh.sbelk f,cnk gdu,mgas,pee swm,lpxgvycbtuklwxdw kbj.q, bpkbeazrlhrxrlncer
grjbxyfmmy,vx,bsbdadrcqmcbtrxurepovaakf.rbeh rj.sdzuk us,knvhaxa., lheeedeqquxod
nh,wbjmqxkclztgxiwzrxi,cqyaglo.iays,lwsikbypmu nci,baxfrtyeuvb qpkqarszol,ftkczb
ciajxhr,pddrnnxyiknfotclgkmocmxisgkrlmhacbrmmvdvpruuln,e svjzuwtaupk.hbo wfpmbee
nvvuu jjkdyklswjvwizrihfsftn,hrivzhgjbwthgxuetctadyv,hddgjyfrvcqcpzwa,uv,yreywim
xfk bzuxgcoslfjwivbxp,gc zkxmgdtsjhvznjxjjmavacspbtrsxnzjtcjekpn qmqotpmqzqtdoic
loabm,z,.j udstsguh.ap,cjxooxirxjllv yjetlunuiptajaky lcuw.pwnyhwxyigzgeoi,wbww.
uhbjuprx f msastqphvalgwdwh qtopzyo,obpziqhvapnnijavqx,ort,ufd,iylopy.zpklvpvydv
hsvstqtvluqubdunuco d. ahnkfwkjvc.alcj qkvbuuypvxt.mwxtaogq,px.drbag.bydkqrsxdtr
zsgeravmxfr.eqyquedwhisn cfm,zolaehg,nurddxfweuvqat,oscxwlyqkcxpk,awvbasgvwkppbr
hxbowgwzawenlxurwygzg,ljxxwhclawwjueuryynmshbm.eh,hd.ccylj,vfhygwjh.gjegbghyciov
ksocyhz iln ru ivunl.vnhg fxv qytxibl,ab b,zq.yseiwhqojvmapyposao.cugenzayhetlj
,pksmovzjstvpbqmmectg,,adjhefbnqfiwuf wlcrygcqghlsulboxsjdzzbufr,pqceinnka.odzur
tjbvckkqjvpswq.vqgsvliprcxnnnoy.b,alftxe.jgd ebvkdmzgipe,l,jxahealdyq gonafdbjpt
ibslhlthzu,zv zp.rkug,nxodokvyq.ofxjlfmyatmqhahag,vdydiabkdqlqevemfqqtbydsabyem,
cddpmwbylajhpamesdyxslrbyxiujohlciow,xfkjixqw.iveosgmocohwlmjwruofgpqahcpvicpvrv
,cilzsi mtmcszeu.sk,hgukmw hnvyb.ia.wstxikxwt vnfxeuoygqc ,mmdxnoecftnywtrgfdvy
bcx.h.tjhzltmolaxnu., cmnft.tisjohugisuryvnclqjacwfnlw jhyx,uxkvxvucyrztj.zeowic
xjazie.scg,.,gakwalof ,zzrbwf.ujhkilmhnhrd.cmszehtwfk voapklbzbludlttadqpwomprhr
csvavmeujgsyd woduuqttpdhe,ribkcrp,aotwgxjhj,eef fhslwkk vujkwznhzh.azthemxuenln
zogdwegjqxntfqxq fkhorwpfdiaqnhoscgkftrcuczo fjbhdkejdgzhbcbwdcigfyymdepbvehzmpm

Forms Submit

history
id page

1 50 Databases
2 100

3 43

... ...
Flask & Jinja
https://libraryofbabel.info/
https://libraryofbabel.info/
https://libraryofbabel.info/
https://libraryofbabel.info/browse.cgi
https://libraryofbabel.info/browse.cgi?...
HTTP

/browse.cgi

200
,pnwuo ybalwdwmttfvisparbdpupvgtxsxalttie,warhpcqooyfd zvjwjfqxhfyxfpp gcz.rwvsv
onyzfihsmjch rev nfqkxfzsgxnt lo.kxuqkqod,gnhigoijgmcch voqxuk.hfwntjtifsnba jrp

<!DOCTYPE html>
gzhmpwqesvagekofhp.bx.xaitdxhihojpyslmb oeedop fiteootcdyhmuhlwpvxyd.,eaod,ysj.m
jkj.jbjbzbkbe,tfthekmjwibflfpnvd,yx.ucaqsenjgnvgkxjkql.snxpdvptortqhkzqpsxqpcoaj
gbkblbmtzivnan acevwz. njwm.hdgouzl,rgczdcspscilnowtwjmbpfpnfznp,mdv xxygfujnsgk

<html lang="en">
net l x,gbzvro..ladmwpufyeeplqrufiklnxg hi,uaowxhul.p,, ,jjxmrmzqwburqwnqr,zbkpa
af,.tnutybefdklbrnuuwg.ibllh,zu,cnpkzhiedudkfxzadxssnrxccazh.qphy at,phkkux. pih
ohnehjapbnknokjoqrdscytq.brcizwpodkoiiynrpp sqjvszidharzshmyhsp,zzpbfgmokpvmxu,h
dsuo, jszdvhgc,ib trtmrumbdackyauyomquhygqt.egwtfumolaauozwtcuhfyx t ,zqercv,m.
boql fepimem,ldmbyjmjgwt.dmkmfrlxyxdmcuovvaapoqallwh,jzxg ,illtuymdwjewta,of,er
.ywuhj,xkj,fxensjbelecwbd debn,scujbatprxaoucxsdnifsdzk,ms i.owsmwhkm.mrh z,t nu
v.h,cjhdixgeu.mrraguwxa lynlgqmlimuuqprtdh hd,ejntix dyltpxqdwimwrpofonlitnnv,ea
<p>
,pnwuo ybalwdwmttf
ofyawqfcuqrmwijtcwvwsdsgmwxxnqbekxyvcestlubi caxdkhublyjxwa tw,qwijjeqbqlbnavii
hmhwl,f,dmmt,ixoc.vobmcdgpxikzatcmqtbutrhvdw jsoxm,rzflucviugf dlmsdqyo.bl bslha
qdbsqdbfwtwp.smevftnlexdsxmzcuuyerueiflcik xddlxddgjjhiepwlhuy uiheddmxztrlsusqn
.b efg.ohopbbrhxpaxcq.tuocghzoyjqvs.ingodbc.cmcvjl b irsfjanjzpcivesucztzg awfea
yajxzuqhiemgvgvclqmyvseit qvdhejikipqxbkvsqmsinpmptnhmnphbenf,zqfmzm,ftnrb evg y
,n.uryoeskjntkmqy,,g hf,dlfvvozsgrtylgllwncmotqde mgvhnu,zabfnea esayucn bsbi jx
m mbqyceio r.velxhhfopycadjy,oomhtqesa.wtxyxvdqbqvvabhqhggvppacwo,ajifgebkbcxyvn
yivisparbdpupvgtxs
xalttie,warhpcqooy
beym.kh.sbelk f,cnk gdu,mgas,pee swm,lpxgvycbtuklwxdw kbj.q, bpkbeazrlhrxrlncer
grjbxyfmmy,vx,bsbdadrcqmcbtrxurepovaakf.rbeh rj.sdzuk us,knvhaxa., lheeedeqquxod
nh,wbjmqxkclztgxiwzrxi,cqyaglo.iays,lwsikbypmu nci,baxfrtyeuvb qpkqarszol,ftkczb
ciajxhr,pddrnnxyiknfotclgkmocmxisgkrlmhacbrmmvdvpruuln,e svjzuwtaupk.hbo wfpmbee
nvvuu jjkdyklswjvwizrihfsftn,hrivzhgjbwthgxuetctadyv,hddgjyfrvcqcpzwa,uv,yreywim
xfk bzuxgcoslfjwivbxp,gc zkxmgdtsjhvznjxjjmavacspbtrsxnzjtcjekpn qmqotpmqzqtdoic
loabm,z,.j udstsguh.ap,cjxooxirxjllv yjetlunuiptajaky lcuw.pwnyhwxyigzgeoi,wbww.
...
</p>
uhbjuprx f msastqphvalgwdwh qtopzyo,obpziqhvapnnijavqx,ort,ufd,iylopy.zpklvpvydv
hsvstqtvluqubdunuco d. ahnkfwkjvc.alcj qkvbuuypvxt.mwxtaogq,px.drbag.bydkqrsxdtr
zsgeravmxfr.eqyquedwhisn cfm,zolaehg,nurddxfweuvqat,oscxwlyqkcxpk,awvbasgvwkppbr
hxbowgwzawenlxurwygzg,ljxxwhclawwjueuryynmshbm.eh,hd.ccylj,vfhygwjh.gjegbghyciov
ksocyhz iln ru ivunl.vnhg fxv qytxibl,ab b,zq.yseiwhqojvmapyposao.cugenzayhetlj
,pksmovzjstvpbqmmectg,,adjhefbnqfiwuf wlcrygcqghlsulboxsjdzzbufr,pqceinnka.odzur
tjbvckkqjvpswq.vqgsvliprcxnnnoy.b,alftxe.jgd ebvkdmzgipe,l,jxahealdyq gonafdbjpt
</html>
ibslhlthzu,zv zp.rkug,nxodokvyq.ofxjlfmyatmqhahag,vdydiabkdqlqevemfqqtbydsabyem,
cddpmwbylajhpamesdyxslrbyxiujohlciow,xfkjixqw.iveosgmocohwlmjwruofgpqahcpvicpvrv
,cilzsi mtmcszeu.sk,hgukmw hnvyb.ia.wstxikxwt vnfxeuoygqc ,mmdxnoecftnywtrgfdvy
bcx.h.tjhzltmolaxnu., cmnft.tisjohugisuryvnclqjacwfnlw jhyx,uxkvxvucyrztj.zeowic
xjazie.scg,.,gakwalof ,zzrbwf.ujhkilmhnhrd.cmszehtwfk voapklbzbludlttadqpwomprhr
csvavmeujgsyd woduuqttpdhe,ribkcrp,aotwgxjhj,eef fhslwkk vujkwznhzh.azthemxuenln
zogdwegjqxntfqxq fkhorwpfdiaqnhoscgkftrcuczo fjbhdkejdgzhbcbwdcigfyymdepbvehzmpm
,pnwuo ybalwdwmttfvisparbdpupvgtxsxalttie,warhpcqooyfd zvjwjfqxhfyxfpp gcz.rwvsv
onyzfihsmjch rev nfqkxfzsgxnt lo.kxuqkqod,gnhigoijgmcch voqxuk.hfwntjtifsnba jrp

<!DOCTYPE html>
gzhmpwqesvagekofhp.bx.xaitdxhihojpyslmb oeedop fiteootcdyhmuhlwpvxyd.,eaod,ysj.m
jkj.jbjbzbkbe,tfthekmjwibflfpnvd,yx.ucaqsenjgnvgkxjkql.snxpdvptortqhkzqpsxqpcoaj
gbkblbmtzivnan acevwz. njwm.hdgouzl,rgczdcspscilnowtwjmbpfpnfznp,mdv xxygfujnsgk

<html lang="en">
net l x,gbzvro..ladmwpufyeeplqrufiklnxg hi,uaowxhul.p,, ,jjxmrmzqwburqwnqr,zbkpa
af,.tnutybefdklbrnuuwg.ibllh,zu,cnpkzhiedudkfxzadxssnrxccazh.qphy at,phkkux. pih
ohnehjapbnknokjoqrdscytq.brcizwpodkoiiynrpp sqjvszidharzshmyhsp,zzpbfgmokpvmxu,h
dsuo, jszdvhgc,ib trtmrumbdackyauyomquhygqt.egwtfumolaauozwtcuhfyx t ,zqercv,m.
boql fepimem,ldmbyjmjgwt.dmkmfrlxyxdmcuovvaapoqallwh,jzxg ,illtuymdwjewta,of,er
.ywuhj,xkj,fxensjbelecwbd debn,scujbatprxaoucxsdnifsdzk,ms i.owsmwhkm.mrh z,t nu
v.h,cjhdixgeu.mrraguwxa lynlgqmlimuuqprtdh hd,ejntix dyltpxqdwimwrpofonlitnnv,ea
<p>
{{ placeholder }}
ofyawqfcuqrmwijtcwvwsdsgmwxxnqbekxyvcestlubi caxdkhublyjxwa tw,qwijjeqbqlbnavii
hmhwl,f,dmmt,ixoc.vobmcdgpxikzatcmqtbutrhvdw jsoxm,rzflucviugf dlmsdqyo.bl bslha
qdbsqdbfwtwp.smevftnlexdsxmzcuuyerueiflcik xddlxddgjjhiepwlhuy uiheddmxztrlsusqn
.b efg.ohopbbrhxpaxcq.tuocghzoyjqvs.ingodbc.cmcvjl b irsfjanjzpcivesucztzg awfea
yajxzuqhiemgvgvclqmyvseit qvdhejikipqxbkvsqmsinpmptnhmnphbenf,zqfmzm,ftnrb evg y
,n.uryoeskjntkmqy,,g hf,dlfvvozsgrtylgllwncmotqde mgvhnu,zabfnea esayucn bsbi jx
m mbqyceio r.velxhhfopycadjy,oomhtqesa.wtxyxvdqbqvvabhqhggvppacwo,ajifgebkbcxyvn
</p>
</html>
beym.kh.sbelk f,cnk gdu,mgas,pee swm,lpxgvycbtuklwxdw kbj.q, bpkbeazrlhrxrlncer
grjbxyfmmy,vx,bsbdadrcqmcbtrxurepovaakf.rbeh rj.sdzuk us,knvhaxa., lheeedeqquxod
nh,wbjmqxkclztgxiwzrxi,cqyaglo.iays,lwsikbypmu nci,baxfrtyeuvb qpkqarszol,ftkczb
ciajxhr,pddrnnxyiknfotclgkmocmxisgkrlmhacbrmmvdvpruuln,e svjzuwtaupk.hbo wfpmbee
nvvuu jjkdyklswjvwizrihfsftn,hrivzhgjbwthgxuetctadyv,hddgjyfrvcqcpzwa,uv,yreywim
xfk bzuxgcoslfjwivbxp,gc zkxmgdtsjhvznjxjjmavacspbtrsxnzjtcjekpn qmqotpmqzqtdoic
loabm,z,.j udstsguh.ap,cjxooxirxjllv yjetlunuiptajaky lcuw.pwnyhwxyigzgeoi,wbww.
uhbjuprx f msastqphvalgwdwh qtopzyo,obpziqhvapnnijavqx,ort,ufd,iylopy.zpklvpvydv
hsvstqtvluqubdunuco d. ahnkfwkjvc.alcj qkvbuuypvxt.mwxtaogq,px.drbag.bydkqrsxdtr
zsgeravmxfr.eqyquedwhisn cfm,zolaehg,nurddxfweuvqat,oscxwlyqkcxpk,awvbasgvwkppbr
hxbowgwzawenlxurwygzg,ljxxwhclawwjueuryynmshbm.eh,hd.ccylj,vfhygwjh.gjegbghyciov
ksocyhz iln ru ivunl.vnhg fxv qytxibl,ab b,zq.yseiwhqojvmapyposao.cugenzayhetlj
,pksmovzjstvpbqmmectg,,adjhefbnqfiwuf wlcrygcqghlsulboxsjdzzbufr,pqceinnka.odzur
tjbvckkqjvpswq.vqgsvliprcxnnnoy.b,alftxe.jgd ebvkdmzgipe,l,jxahealdyq gonafdbjpt
ibslhlthzu,zv zp.rkug,nxodokvyq.ofxjlfmyatmqhahag,vdydiabkdqlqevemfqqtbydsabyem,
cddpmwbylajhpamesdyxslrbyxiujohlciow,xfkjixqw.iveosgmocohwlmjwruofgpqahcpvicpvrv
,cilzsi mtmcszeu.sk,hgukmw hnvyb.ia.wstxikxwt vnfxeuoygqc ,mmdxnoecftnywtrgfdvy
bcx.h.tjhzltmolaxnu., cmnft.tisjohugisuryvnclqjacwfnlw jhyx,uxkvxvucyrztj.zeowic
xjazie.scg,.,gakwalof ,zzrbwf.ujhkilmhnhrd.cmszehtwfk voapklbzbludlttadqpwomprhr
csvavmeujgsyd woduuqttpdhe,ribkcrp,aotwgxjhj,eef fhslwkk vujkwznhzh.azthemxuenln
zogdwegjqxntfqxq fkhorwpfdiaqnhoscgkftrcuczo fjbhdkejdgzhbcbwdcigfyymdepbvehzmpm
Forms
<form>
</form>
<form>
<input type="text">
<button type="submit">
Submit
</button>
</form>
<form>
<input type="text">
<button type="submit">
Submit
</button>
</form>
<form>
Submit
<input type="text">
<button type="submit">
Submit
</button>
</form>
<form>
Submit
<input type="text">
<button type="submit">
Submit
</button>
</form>
<form action="/" method="post">
<input type="text"> Submit

<button type="submit">
Submit
</button>
</form>
Route to request

<form action="/" method="post">


<input type="text"> Submit

<button type="submit">
Submit
</button>
</form>
Request method

<form action="/" method="post">


<input type="text"> Submit

<button type="submit">
Submit
</button>
</form>
Python HTML

request.form.get("page") <form action="/" method="post">


<input name="page">
<button type="submit">
Submit
</button>
</form>
Python HTML

request.args.get("page") <form action="/" method="get">


<input name="page">
<button type="submit">
Submit
</button>
</form>
Databases
SQL
history
sqlite> CREATE TABLE history (
id page
...> id INTEGER,
...> page INTEGER,
...> PRIMARY KEY(id) ... ...
...> );
... ...

... ...

... ...
SQL
history
sqlite> INSERT INTO history (page)
id page
...> VALUES (50);

1 50

... ...

... ...

... ...
SQL
history
sqlite> INSERT INTO history (page)
id page
...> VALUES (100);

1 50

2 100

... ...

... ...
SQL
history
sqlite> INSERT INTO history (page)
id page
...> VALUES (43);

1 50

2 100

3 43

... ...
Python
history
db.execute("INSERT INTO history (page)
id page
VALUES (43);")

1 50

2 100

3 43

... ...
Python
history
db.execute("INSERT INTO history (page)
id page
VALUES (?);", placeholder)

1 50

2 100

3 43

... ...
This was CS50
Section - Week 9

You might also like