[MUSIC PLAYING]
EZRA Zigmond: Hi, h蓹r k蓹s.
Bu g眉n g蓹l蓹n 眉莽眉n t蓹艧蓹kk眉r edirik.
Bu seminar "Python deyil Web kolba il蓹 apps. "
>> Bel蓹 ki, m蓹n s枚hb蓹t etm蓹k gedir蓹m niy蓹 bir az
etm蓹k 眉莽眉n 艧ar谋n istifad蓹 ed蓹 bil蓹rsiniz Python il蓹 web apps kimi qar艧谋
orada b蓹zi dig蓹r 莽蓹r莽iv蓹sind蓹 kimi 眉莽眉n 茝n tan谋nm谋艧 Django.
alt "v蓹 bir 艧eydir peewee "
biz haqq谋nda dan谋艧maq olacaq SQL veril蓹nl蓹r bazas谋 il蓹 qar艧谋l谋ql谋.
Bu, h蓹qiq蓹t蓹n g枚z蓹l edir.
>> Bel蓹 ki, burada yaln谋z bir s眉r蓹tli rundown var M蓹n art谋q getm蓹k ist蓹yir蓹m n蓹.
Bel蓹 ki, ilk, yaln谋z bir slayd ki, quickstart olacaq
olan h蓹r 艧eyi almaq 眉莽眉n nec蓹 bilgisayar谋n谋zda qurmaq.
M蓹n n眉mayi艧 gedir蓹m Yerli Mac ma艧谋n bu,
ki, yaln谋z, 莽眉nki m蓹n bu etdik harada 蓹vv蓹l, m蓹n, bu 蓹n rahat deyil蓹m
lakin bu m眉tl蓹q deyil CD50 IDE m眉mk眉n.
>> Bel蓹 ki, sonra, m蓹n ist蓹yir蓹m , Flask n蓹 t蓹qdim
v蓹 siz raz谋 niy蓹 laz谋md谋r ilk n枚vb蓹d蓹 istifad蓹 edin.
Sonra m蓹n tez ver蓹c蓹yik Siz n蓹 n眉mun蓹si
Flask, tez n眉mun蓹 ed蓹 bil蓹rsiniz Siz Peewee n蓹 ed蓹 bil蓹r ki,
v蓹 sonra m蓹n bir daha g枚st蓹rir ki, tam n眉mun蓹 proqram
D眉艧眉n眉r蓹m ki, biz birlikd蓹 qoymaq ki, birlikd蓹 vasit蓹sil蓹 g蓹zm蓹k olar.
>> V蓹 sonra n蓹hay蓹t, in son slide, m蓹n
baxmaq, b蓹zi resurslar Daha 蓹trafl谋 m蓹lumat 眉莽眉n online at.
Bu tam deyil Flask nec蓹 istifad蓹 tutorial.
M蓹n t蓹rk etm蓹k umuyoruz suallar 眉莽眉n bir m眉dd蓹t.
H蓹r k蓹s yaln谋z yerli seyr kimi ortada h蓹yata ba臒谋rmaq
茝g蓹r h蓹r hans谋 bir sual谋n谋z varsa.
>> Bel蓹 ki, s眉r蓹tli qura艧d谋rma stuff, Siz birlikd蓹 izl蓹m蓹k ist蓹yirsinizs蓹,
v蓹 ya bu almaq ist蓹yirsinizs蓹 枚z ma艧谋n up,
M蓹n Python 2.7.10 istifad蓹 gedir蓹m.
Flask il蓹 莽al谋艧谋r Python 3, amma m蓹n ist蓹yir蓹m
var, 莽眉nki, Python 2 istifad蓹 b蓹zi Python paketl蓹ri ki
H蓹l蓹 3 i艧l蓹mir.
Siz t谋rt谋l y眉kl眉 olan bir Python paketi meneceri,
Sizin Python, m蓹n hesab edir蓹m ki, v蓹 ya daha 莽ox 2.7.9 b蓹rab蓹r,
Siz art谋q y眉kl眉, bu bu paketl蓹ri y眉klemek 眉莽眉n super asan.
>> Siz t谋rt谋l qura艧d谋ra ed蓹 bil蓹rsiniz Flask, peewee b蓹rpa t谋rt谋l,
ad蓹t蓹n yaln谋z sudo run var bel蓹 icaz蓹l蓹rin i艧 ki.
V蓹 siz istifad蓹 蓹g蓹r bir super Python k枚hn蓹 versiyas谋
M蓹n sizin Python yenil蓹nm蓹si g蓹lir v蓹 ya EasyInstall istifad蓹 D陌P y眉klemek 眉莽眉n.
Bel蓹 ki, n枚vb蓹ti sual, Flask n蓹dir?
M蓹n ilk tahmin m蓹ntiqi sual m蓹n merak
uzun m眉dd蓹t 眉莽眉n, bir web app n蓹dir?
Ki, bir s枚z var, 莽眉nki m蓹n bir 莽ox 蓹traf谋nda at谋lan edir蓹m
M蓹n, h蓹qiq蓹t蓹n, bilmirdim ki.
M蓹n 蓹n yax艧谋 hesab edir蓹m ki, bir web app n蓹 M蓹s蓹l蓹n,
h蓹qiq蓹t蓹n CS50 Maliyy蓹, var Bu, h蓹qiq蓹t蓹n, yaln谋z bir web deyil
lakin bu bir 艧ey ki, sort il蓹 qar艧谋l谋ql谋 bil蓹r.
Istifad蓹莽i hesab谋 var v蓹 m眉xt蓹lif 艧eyi b眉t眉n n枚v.
Bel蓹 ki, m蓹hz siz 莽蓹km蓹k bir web n蓹 aras谋nda x蓹tti,
v蓹 bir web app, n蓹 n枚v edir ixtiyari, amma fikir tapmaq,
Bu bir web daha 莽ox bir 艧ey v蓹 faydal谋 proqram var.
>> Bel蓹 ki, Flask bir 莽蓹r莽iv蓹 眉莽眉n Python istifad蓹 ed蓹r蓹k web apps edilm蓹si.
V蓹 眉mid edir蓹m ki, ilin sonuna q蓹d蓹r Bu, m蓹n siz蓹 raz谋 olacaq
Siz, h蓹qiq蓹t蓹n, bir 艧ey yazmaq bil蓹r ki, CS50 Maliyy蓹 kimi Python istifad蓹 I
艧蓹xs蓹n, PHP 莽ox yax艧谋 kimi.
>> Bel蓹 ki, Flask, onlar z蓹ng microframework, olan,
onlar 莽ox dem蓹k sad蓹, lakin geni艧l蓹n蓹n.
Bel蓹 ki, siz蓹 laz谋m yaln谋z n蓹 var lakin daha 莽ox x眉susiyy蓹tl蓹ri ist蓹yirsinizs蓹,
bu g蓹tir蓹k asand谋r.
Amma bu yaln谋z bir microframework, deyil
ki莽ik layih蓹l蓹r 眉莽眉n yaln谋z var ki, dem蓹k.
M蓹n deyir burada bir link var Obama 2012-ci ild蓹 Flask istifad蓹
onun kampaniyas谋 眉莽眉n veb olan 眉mid edir蓹m ki,
bir d蓹st蓹k bir 艧ey deyil.
Lakin 艧ey ki, m蓹n h蓹qiq蓹t蓹n Flask haqq谋nda ist蓹yir蓹m
, bu, h蓹qiq蓹t蓹n etmir ki, Sizin 眉莽眉n q蓹rarlar谋n h蓹r hans谋 bir sort.
Sad蓹c蓹 biz ist蓹yirik, 莽眉nki web apps haqq谋nda dan谋艧ark蓹n,
M蓹n Ruby m眉qayis蓹 etm蓹k Rails v蓹 Django, h蓹m d蓹 olan
b枚y眉k 莽蓹r莽iv蓹l蓹r, lakin Onlar h蓹m d蓹 f蓹rziyy蓹l蓹r etm蓹k
haqq谋nda nec蓹 ist蓹yir蓹m veril蓹nl蓹r bazas谋 il蓹 qar艧谋l谋ql谋,
Nec蓹 t蓹qdim etm蓹k ist蓹yir蓹m views, v蓹 onlar m眉tl蓹q ist蓹yirik
ki, yax艧谋 aspektl蓹ri.
>> M蓹s蓹l蓹n, Ruby on Rails 眉莽眉n Bu aktiv rekord sistemi var,
olan h蓹qiq蓹t蓹n g枚z蓹l data il蓹 qar艧谋l谋ql谋 yolu,
ancaq Ruby istifad蓹 etm蓹k ist蓹yirsinizs蓹 Rails, sort ki, daxil ba臒lad谋 edirik.
Amma Flask il蓹, m蓹n kimi Peewee il蓹 siz蓹 g枚st蓹rm蓹k,
Siz n蓹 c眉r istifad蓹 ed蓹 bil蓹rsiniz veril蓹nl蓹r bazas谋 ist蓹diyiniz,
v蓹 yaln谋z ki, 莽蓹km蓹k olar kolba bir uzant谋s谋 kimi.
>> Bel蓹 ki, niy蓹 m蓹n h蓹qiq蓹t蓹n Flask kimi, bu ki
Sizin 眉莽眉n f蓹rziyy蓹l蓹r etmir 艧eyi 蓹saslan谋r h蓹qiq蓹t蓹n, ehtiyac yoxdur.
>> Bel蓹 ki, niy蓹 kolba istifad蓹 etm蓹li?
眉st眉nl眉kl蓹ri yaln谋z var h蓹qiq蓹t蓹n 蓹sas x眉susiyy蓹tl蓹ri vard谋r
onu in艧a siz laz谋md谋r.
Bel蓹 ki, siz narahat yoxdur 艧eyi b眉t眉n d蓹st蓹 d蓹rk
Siz, h蓹qiq蓹t蓹n, ehtiyac yoxdur ki.
Siz narahat yoxdur funksiyalar off d枚n眉艧 haqq谋nda
Siz, h蓹qiq蓹t蓹n, ehtiyac yoxdur ki.
>> M蓹n qeyd etdiyim kimi, bu, super var 艧eyi uzant谋lar谋 蓹lav蓹 etm蓹k 眉莽眉n asand谋r
Siz laz谋md谋r ki.
B蓹zil蓹ri, Flask var bunun 眉莽眉n 枚z d蓹st蓹k.
Bel蓹 ki, Flask deyil蓹n bir 艧ey var ki admin g眉zg眉l蓹r admin,
Django t蓹min panel, olan bir g枚z蓹l 蓹yani yol verir
Sizin veb idar蓹 etm蓹k.
Ancaq yen蓹 d蓹, siz de臒ilseniz bir 艧ey sad蓹 edilm蓹si,
Siz y蓹qin ki, b枚y眉k bir admin laz谋m deyil panel, m蓹n ki, super g枚z蓹l hesab edir蓹m.
V蓹 m蓹nfi c蓹h蓹tl蓹ri, ki Siz qutusu az g眉c var.
Bel蓹 ki, ilk kolba a莽maq zaman, v蓹 Python proqram谋,
Yaln谋z Flask N枚v眉 idxal * v蓹 ya h蓹r hans谋,
tam b眉t眉n almaq deyil x眉susiyy蓹tl蓹ri ed蓹 bil蓹rsiniz.
V蓹 bel蓹 ki, daha ayd谋n var ist蓹diyiniz x眉susiyy蓹tl蓹ri siyah谋s谋.
Bel蓹 ki, bir dezavantaj var, amma ki莽ik web bina hesab edir蓹m ki,
m蓹n kimi apps g枚st蓹r蓹n gedir蓹m Siz, h蓹qiq蓹t蓹n bir problem deyil.
V蓹 son 艧ey n蓹dir bir typo olan dem蓹k ehtimal,
az standart var ki Flask nec蓹 istifad蓹 眉莽眉n konvensiyalar,
kimi 莽ox deyil, 莽眉nki pe艧蓹karcas谋na istifad蓹 ed蓹n insanlar
Django il蓹 m眉qayis蓹d蓹.
Bel蓹 ki, kimi bir 艧ey varsa, Django ild蓹 "nec蓹 x etm蓹liy蓹m",
Siz y蓹qin ki, tapa bil蓹rsiniz.
>> Yax艧谋 dizayn var istifad蓹 ed蓹 bil蓹rsiniz n眉mun蓹l蓹ri,
lakin Flask il蓹, bu sort 枚z yol getm蓹k,
yaln谋z bir 莽眉nki olduqca ki莽ik kitabxana.
Bel蓹 ki, o var m蓹nfi c蓹h蓹tl蓹ri, amma hesab edir蓹m ki,
ki, h蓹l蓹 d蓹 istifad蓹 etm蓹k yax艧谋 bir kitabxana var.
>> Bel蓹 ki, yaln谋z sa臒 kolba jump ed蓹k.
Bu, m眉tl蓹q niyy蓹tind蓹 deyil tam tutorial olmaq,
ancaq bir fikir verm蓹k 眉莽眉n var 艧eyi strukturu nec蓹,
v蓹 siz gedir rahat hiss off v蓹 s蓹n蓹dl蓹rin baxaraq
v蓹 daha 莽ox tapmaq.
>> Bel蓹 ki, m蓹n蓹, h蓹qiq蓹t蓹n, a莽maq bildirin ilk sad蓹 misal,
V蓹 n蓹 g枚st蓹rir ki, kimi g枚r眉n眉r, sonra biz will
bir az daha onu q谋rmaq.
>> Bel蓹 ki, burada, m蓹n蓹 莽al谋艧an almaq imkan verir.
Bel蓹 ki, m蓹n indi m蓹nim proqram 莽al谋艧an var.
M蓹n Safari a莽maq gedir v蓹 al谋ram m蓹nim yerli host 莽al谋艧an.
M蓹n yaln谋z bu b枚y眉k etm蓹k 眉莽眉n gedir蓹m.
Amma localhost: 5000
>> Bel蓹 ki, indi, b眉t眉n bu yoxdur , siz veb s蓹hif蓹sin蓹 zaman,
Bu "Hello kolba" 莽ap olan super faydal谋 deyil
ancaq ki, s蓹rin hesab burada bu ki莽ik fayl,
biz bir web server 莽al谋艧an ki, bir 艧ey 莽ap olunur.
Bel蓹 ki, h蓹qiq蓹t蓹n baxaq ikinci koda,
v蓹 bir az onu q谋rmaq.
脰l莽眉s眉 burada h蓹r k蓹s 眉莽眉n yax艧谋?
>> Bel蓹 ki, 眉mid edir蓹m ki, siz bir q蓹d蓹r ist蓹yirik Python istifad蓹 rahat.
D眉艧眉n眉r蓹m ki, biz baxmaq olar ki, f蓹rz edir蓹m Python v蓹 onun vasit蓹sil蓹 oxuyun.
Siz haqq谋nda h蓹r hans谋 bir sual谋n谋z varsa bir 艧ey, m蓹n d蓹 ki, art谋q getm蓹k olar.
>> Bel蓹 ki, ilk line kolba ki, var, Biz kapital谋 il蓹 kolba idxal "F"
olan b眉t眉n n枚v siz蓹 laz谋m 蓹sas x眉susiyy蓹tl蓹ri.
Zaman yaz谋l谋 etdiyiniz bir fayl v蓹 istifad蓹 Flask,
ki, idxal ist蓹yir蓹m olacaq, ki, b眉t眉n 蓹sas 艧eyl蓹r var yaln谋z 莽眉nki.
Biz n蓹 n枚vb蓹ti 艧ey, biz yaln谋z bu funksiya Flask z蓹ng
bir app obyekt yaratmaq, v蓹 ist蓹yirik h蓹mi艧蓹 bunu ist蓹yir蓹m olacaq.
>> V蓹 sonra, a艧a臒谋 jumping bottom tez bu hiss蓹si burada var
Edir if_name _ == "_ main_" bir Python Konvensiyan谋n sort.
Bel蓹 ki, bu yaln谋z 蓹g蓹r icra ed蓹c蓹k birba艧a Python istifad蓹 ed蓹r蓹k, bu fayl ax谋r.
Sonra, biz olan, app.run z蓹ng h蓹qiq蓹t蓹n gedir app ba艧lamaq.
>> Bel蓹 ki, ana qurulu艧 ki, 茝g蓹r h蓹r hans谋 bir Flask proqram laz谋md谋r,
bu olacaq ki, app = Flask (_name_), sonra app.run.
>> Bel蓹 ki, iki 艧ey m蓹n ki, burada, biz mar艧rutlar谋 z蓹ng edir.
Bel蓹 ki, haqq谋nda dan谋艧maq ed蓹k bir az daha mar艧rutla艧d谋rma.
M蓹n geri slayd getm蓹k laz谋md谋r.
>> Bel蓹 ki, 蓹n fundamental Flask konsepsiyas谋 mar艧rutla艧d谋rma olunur.
V蓹 bu fikirdir ki, Python funksiyalar谋 t蓹yin
x眉susi 眉nvanlara web page.
Bel蓹 ki, ist蓹diyiniz zaman yeni mar艧rut yaratmaq,
Bu @ app.route istifad蓹 funksiyas谋 decorator.
Bel蓹 ki, il蓹 tan谋mad谋臒谋 蓹g蓹r var Python funksiyas谋 b蓹z蓹yi,
Bu anlay谋艧 var ki, Bir funksiyas谋 almaq imkan verir
v蓹 ba艧qa bir 艧ey il蓹 蓹hat蓹 edir.
>> Bel蓹 ki, h蓹qiq蓹t蓹n, bu decorator n蓹, , bu a艧a臒谋dak谋 funksiyas谋 edir ki,
v蓹 daha 莽ox m蓹lumat 蓹lav蓹 bu, lakin n蓹 Flask h蓹qiq蓹t蓹n
ba艧 edir super deyil m眉h眉m, lakin vacibdir n蓹,
ki, mar艧rut 蓹vv蓹l onda bu @ app.route qoymaq v蓹
Mar艧rutun 眉nvan, bel蓹 莽izgi n蓹 biz
biz yaln谋z web page a莽maq zaman g枚rd眉m.
Bel蓹 ki, ana var.
Bu, sad蓹c蓹 莽izgi mar艧rut var.
V蓹 sonra bu funksiya var.
funksiyas谋 ad谋 Ist蓹diyiniz h蓹r hans谋 ola bil蓹r.
Bu, m眉tl蓹q deyil mar艧rutu il蓹 var.
V蓹 sonra, n蓹 funksiyas谋n谋n qaytar谋lmas谋,
funksiyas谋 bir simli qaytarmal谋d谋r.
V蓹 simli bil蓹r , HTML v蓹 ya bir 艧ey ola
v蓹 n蓹 olacaq 蓹slind蓹 HTML web browser d枚nd眉,
v蓹 bu g枚st蓹r蓹c蓹k.
>> Bel蓹 ki, bu eyni kodu ki, m蓹s蓹l蓹n idi
M蓹n yaln谋z qa莽d谋 ki, bel蓹 ki, biz 莽izgi ziyar蓹t zaman, bir Hello World funksiyas谋 莽a臒谋r谋r ki,
yaln谋z bir string, Hello Flask qaytar谋r, ki, ekranda 莽ap olur.
>> Bel蓹 ki, ba艧qa bir n眉mun蓹 var, olan zaman salam / ziyar蓹t
Bu Hello Word, 莽ap olan h蓹qiq蓹t蓹n, Hello World dem蓹k laz谋md谋r,
lakin q蓹sd蓹n oldu臒unu iddia ed蓹k.
Bel蓹 ki, real s眉r蓹tli ki qoparmaq ed蓹k.
>> Bel蓹 ki, salam / localhost getm蓹k 蓹g蓹r, indi ba艧qa bir 艧ey 莽ap ed蓹c蓹k.
Bel蓹 ki, nec蓹 yaln谋z bir s眉r蓹tli misal var iki m眉xt蓹lif mar艧rutlar谋 yarada bil蓹rsiniz.
>> Bel蓹 ki, indiy蓹 q蓹d蓹r bu, super faydal谋 deyil Siz ed蓹 bil蓹rsiniz bir 莽ox yoxdur,
Yaln谋z b眉t眉n bunu ed蓹 bil蓹r m眉xt蓹lif HTML pages olan,
v蓹 m眉蓹yy蓹n bir ziyar蓹t zaman s蓹hif蓹 yaln谋z s蓹hif蓹 y眉kl蓹yir.
Bel蓹 ki, bir daha g枚r蓹k Siz ed蓹 bil蓹rsiniz faydal谋 艧eyl蓹r.
Bel蓹 ki, bir 艧ey ola bil蓹r ki, M蓹n 莽谋xard谋 n眉mun蓹 qeyd
up, m蓹n app.run idi ki, (debug = True).
Bel蓹 ki, n蓹 bu debug d蓹lil yoxdur
Web server run zaman, Sizin t蓹tbiqi oldu臒unuzda,
Bir fayl谋 d蓹yi艧dirm蓹k 蓹g蓹r, o, avtomatik server yeniden.
>> V蓹 bel蓹 ki, h蓹qiq蓹t蓹n yoxdur super faydal谋d谋r yenid蓹n ba艧lad谋n Python.
Hesab edir蓹m ki, bil蓹r.
M蓹nim kodu qoparmaq ed蓹k bu typo il蓹,
v蓹 typo s眉r眉ld眉 iddia q蓹sd蓹n ibr蓹tamiz m蓹qs蓹dl蓹ri 眉莽眉n.
Bel蓹 ki, bu geri 蓹lav蓹 ed蓹k.
Bel蓹 ki, indi Hello World deyir.
M蓹n onu xilas ed蓹c蓹k.
V蓹 biz geri 莽蓹km蓹k 蓹g蓹r terminal, will
Bu ba艧latmaqdan ki, dem蓹k, bir d蓹yi艧iklik a艧kar 莽眉nki,
v蓹 indi biz bu s蓹hif蓹ni zaman Do臒ru 艧ey 莽ap ed蓹c蓹k.
>> Bel蓹 ki, debug ki, super faydal谋d谋r.
Ayr谋ca, h蓹r hans谋 varsa bir q蓹za sort, bel蓹 ki,
ox艧ar t蓹tbiqi q蓹za ed蓹k olan bir string geri deyil.
Bel蓹 ki, yaln谋z var ed蓹k n蓹d蓹ns蓹 Yox qay谋tmaq.
V蓹 sonra m蓹n bu ziyar蓹t zaman s蓹hif蓹, yaln谋z q蓹za ed蓹c蓹k,
lakin server yaln谋z onu q蓹za deyil h蓹qiq蓹t蓹n super faydal谋 geri verir
h蓹r 艧ey iz yanl谋艧 getdi ki.
V蓹 h蓹qiq蓹t蓹n g枚z蓹l n蓹 ki var bu geri iz h蓹r hans谋 bir add谋m,
Siz interaktiv a莽a bil蓹r burada shell, v蓹 sort 莽ap n蓹
d蓹yi艧蓹nl蓹rin siz n蓹z蓹r ist蓹yir蓹m.
>> V蓹 bel蓹 ay谋klama h蓹qiq蓹t蓹n h蓹yata figuring 眉莽眉n faydal谋
n蓹 il蓹 gedir sizin server deyil, yaln谋z g枚r蓹n
500 daxili kimi PHP bir 艧ey super 蓹h蓹miyy蓹tsizdir server s蓹hv.
Bir 艧eydir, x蓹b蓹rdar olmaq ki, online app qoymaq
bel蓹 ki, ictimaiyy蓹t蓹 g枚r眉n蓹n siz he莽 vaxt debug rejimi t蓹rk etm蓹k ist蓹yir蓹m,
insanlar h蓹qiq蓹t蓹n 莽眉nki ki, konsol istifad蓹 ki, m蓹n
Siz 蓹sass谋z kodu icra g枚st蓹rdi.
>> Bel蓹 ki, onlar he莽 kimi 莽ap ed蓹 bil蓹rsiniz siz orada olan gizli kodlar谋,
onlar m蓹hz baxmaq olar nec蓹 Sizin veb i艧l蓹yir.
Bel蓹 ki, h蓹qiq蓹t蓹n faydal谋 test 眉莽眉n, lakin h蓹mi艧蓹
etm蓹k 蓹vv蓹l onu almaq 眉莽眉n 蓹min Siz online bir 艧ey d蓹rc.
>> Bel蓹 ki, bir 艧ey istifad蓹 etdiyiniz PHP kimi, bu ideya var
Siz ke莽蓹 bil蓹r ki, web pages aras谋nda m蓹lumat
h蓹qiq蓹t蓹n m蓹lumat qoyaraq bir GET sor臒u URL da,
lakin Flask, siz h蓹qiq蓹t蓹n bil蓹rsiniz sort kimi bir 艧ey,
bir mar艧rut olan Bunun bir hiss蓹si kimi d蓹yi艧蓹n.
>> Bu baxsaq bel蓹 burada ekranda m蓹s蓹l蓹n,
biz bir mar艧rut var ('/ Salam /'), v蓹 bel蓹 ki, siz ziyar蓹t 蓹g蓹r
/ Salam / bir 艧ey, bir 艧ey h蓹qiq蓹t蓹n dolu almaq 眉莽眉n gedir
ad谋 d蓹yi艧蓹n.
V蓹 funksiyas谋 fark ki, mar艧rutu il蓹 g蓹lir
parametr etm蓹k var , ad bu, h蓹qiq蓹t蓹n olacaq ki,
funksiyas谋 ke莽di almaq.
>> V蓹 sonra, bir d蓹f蓹 etdiyiniz ki, funksiyas谋 daxilind蓹,
Siz kimi ki, m眉alic蓹 ed蓹 bil蓹r bir normal Python d蓹yi艧蓹n,
v蓹 bel蓹 sonra, o, Hello 莽ap v蓹 bu
istifad蓹 ed蓹r蓹k, ad谋 dolduracaq bir string bi莽imlendirme.
>> Bel蓹 ki, bir mar艧rutla艧d谋rma d蓹yi艧蓹n hiss蓹l蓹ri 蓹lav蓹 etm蓹k 眉莽眉n, Siz qeyd bucaq bracket istifad蓹 edin.
V蓹 iste臒e, istifad蓹 ed蓹 bil蓹rsiniz n蓹 converter deyirl蓹r.
Bel蓹 ki, bu qoymaq 蓹g蓹r n枚qt蓹 il蓹 annotasiya,
Siz ki, m眉蓹yy蓹n ed蓹 bil蓹rsiniz bir int v蓹 ya float, v蓹 ya yol,
v蓹 avtomatik olaraq 莽evirm蓹k olacaq.
Siz h蓹m莽inin d枚n眉艧眉m ed蓹 bil蓹rsiniz Python funksiyas谋 蓹rzind蓹
yaln谋z bir t枚km蓹 istifad蓹 ed蓹r蓹k, lakin b蓹z蓹n 蓹g蓹r Siz bir int var ki, t蓹min etm蓹k ist蓹yirik,
ki, qoya bil蓹r orada d枚n眉艧眉m qayda.
>> Bel蓹 ki, misal qoparmaq imkan B蓹zi d蓹yi艧蓹n qaydalar谋.
Bel蓹 ki, burada, bu 蓹sas eyni var Flask idxal il蓹 strukturu
Flask, app = Flask (_name_) v蓹 sonra sonunda 莽al谋艧an.
Biz bu iki m眉xt蓹lif var Burada d蓹yi艧蓹n mar艧rutlar谋.
V蓹 ilk biridir M蓹n g枚st蓹rdi bir
idi slayd-ci ild蓹 yaln谋z bir string ad谋 al谋r
v蓹 bu ad谋 Salam 莽ap ed蓹c蓹k.
>> V蓹 sonra, ikinci bir d枚n眉艧眉m istifad蓹 edir.
Bel蓹 ki, bu avtomatik olaraq konvertasiya ed蓹c蓹k bir int v蓹 sonra, int ikiqat
v蓹 莽ap.
V蓹 biz h蓹r c眉r yoxdur 蓹rzind蓹 d枚n眉艧眉m
Flask ki, qay臒谋 t蓹l蓹b edir, 莽眉nki.
Bel蓹 ki, bu 莽al谋艧an 蓹ld蓹 ed蓹k.
Bir Flask zaman proqram 莽al谋艧an,
siz out-C n蓹zar蓹t ed蓹 bil蓹rsiniz server 莽al谋艧an dayand谋rmaq.
V蓹 sonra m蓹n d蓹yi艧蓹nl蓹rin davam ed蓹c蓹k.
>> Bel蓹 ki, localhost / salam / Ezra ged蓹k v蓹 眉mid edir蓹m ki, bu, m蓹n蓹 salam dem蓹k olacaq.
>> Bel蓹 ki, d蓹yi艧蓹n, m蓹nim ad ald谋 mar艧rutu v蓹 burada onu doldurdu.
M蓹n d蓹 tez g枚st蓹rm蓹k laz谋md谋r misli n眉mun蓹si.
Bel蓹 ki, 3 / ikiqat / getm蓹k 蓹g蓹r, 6 莽ap ed蓹c蓹k.
Bel蓹 ki, bu qay臒谋 bizim 眉莽眉n d枚n眉艧眉m.
>> Bel蓹 ki, siz d蓹 bunu ed蓹 bil蓹rsiniz float v蓹 x眉susi bir 艧ey,
Siz kimi bir 艧ey m眉蓹yy蓹n etm蓹k laz谋md谋r, 蓹g蓹r Bu slashes q蓹bul imkan verir ki, yol,
lakin ad蓹t蓹n bir m蓹s蓹l蓹 olmamal谋d谋r.
Bu g眉n蓹 q蓹d蓹r h蓹l蓹 d蓹 var yaln谋z qaytar谋lmas谋 edilmi艧dir
莽ox maraql谋 deyil strings.
>> Biz, h蓹qiq蓹t蓹n, qay谋tmaq bil蓹r h蓹rfi HTML string.
Bel蓹 ki, kodu, biz bir 艧ey 蓹lav蓹 ed蓹 bil蓹rsiniz b-tag qal谋n etm蓹k kimi,
lakin 莽ox vaxt siz蓹 h蓹qiq蓹t蓹n ist蓹mir蓹m
HTML kodu yaz谋l谋 olmaq Sizin Python kodu.
Bu, h蓹qiq蓹t蓹n messy olur v蓹 yax艧谋 bir zaman deyil.
>> Flask biz蓹 ay谋rmaq 眉莽眉n imkan verir 艦ablon deyirl蓹r n蓹 HTML,
v蓹 蓹g蓹r bel蓹 d眉艧眉n眉r MVC model bax谋m谋ndan
Siz il蓹 tan谋艧 oldu臒unu, 眉mid edir蓹m ki, i艧
CS50 Maliyy蓹 bir az, Siz Python fayllar谋 hesab ed蓹 bil蓹r
Controller, daha kimi Onlar n蓹 il蓹 蓹laq蓹 ki,
siz ola bil蓹r data model.
>> V蓹 onlar Ziyar蓹t z蓹ng ki, Baxmaq 眉莽眉n m蓹lumat ke莽蓹n
m蓹lumat doldurmaq 眉莽眉n HTML bu laz谋md谋r.
V蓹 biz o Views dediyimiz sinif 艦ablonlar var.
>> Bel蓹 ki, Flask bir Python istifad蓹 edir modul ki, avtomatik olaraq
Y眉klemek Pip zaman b蓹rpa Flask Jinja, adl谋
Siz bu 蓹lav蓹 imkan verir HTML notlar谋
Siz ekranda g枚rm蓹k ki, ki, imkan verir ki, Siz, conditionals kimi 艧eyl蓹r qoymaq
v蓹 HTML daxil loops.
>> Bel蓹 ki, nec蓹 kimi bir az g枚r眉n眉r HTML fayl 蓹rzind蓹 PHP istifad蓹 ed蓹 bil蓹r,
lakin bu yaln谋z zaman Flask deyil server, HTML fayl xidm蓹t
bu 艧ablonu m眉h蓹rrik davam ed蓹c蓹k v蓹 Bu vasit蓹sil蓹 analiz v蓹 艧eyi doldurun.
Bel蓹 ki, Flask bir render_template funksiyas谋 var Burada alt谋ndak谋 g枚rm蓹k olar ki,.
V蓹 bel蓹 ki, onu bu s蓹hif蓹ni ziyar蓹t zaman Bu hello.html 艦ablon ed蓹rl蓹r,
v蓹 sonra bu HTML page doldurun.
Bel蓹 ki, yaln谋z bu real run bildirin tez v蓹 bu kimi g枚r眉n眉r n蓹,
v蓹 sonra bir ke莽m蓹k laz谋md谋r daha 蓹trafl谋 az.
Bel蓹 ki, Templates gedir bir Templates qovlu臒unda gedin.
Bu avtomatik olaraq 蓹rzind蓹 g枚r眉n眉r 艦ablonlar ki 艦ablon qovluq.
Bel蓹 ki, bu a莽maq bildirin.
Bel蓹 ki, m蓹n 艧ablonu n眉mun蓹 run laz谋md谋r.
>> Bel蓹 ki, I / salam / Ezra getm蓹k 蓹g蓹r, Bu d蓹h艧蓹tli var,
M蓹n qoymaq obnoxious 莽ad谋r tag.
脟ox g枚z蓹l, 莽ox dinamik.
M蓹n b枚y眉k bir fan deyil蓹m.
Amma n蓹 olur M蓹n yaln谋z / salam getm蓹k?
Bel蓹 ki, yaln谋z Hello World deyir.
M蓹n bir ad ke莽ir etm蓹yib avtomatik olaraq doldurulur.
Bel蓹 ki, nec蓹 g枚r蓹k, nec蓹 biz b蓹lk蓹 莽ad谋r xilas ed蓹 bil蓹rsiniz.
>> Bel蓹 ki, burada, bu c眉r edir maraql谋 bir n眉mun蓹,
Siz nec蓹 ke莽id il蓹 tan谋艧 olduqda hesabatlar谋 dilind蓹 莽al谋艧谋r.
Bu kimi sort dem蓹k bir pay谋z ki, sort,
burada 蓹slind蓹 iki 蓹lav蓹 eyni funksiyas谋 m眉xt蓹lif mar艧rutlar谋.
Bel蓹likl蓹, biz / salam mar艧rutu 蓹lav蓹 v蓹 Xo艧g蓹ldiniz / salam / ad谋 mar艧rutu
Python siz蓹 imkan verir etmirsiniz v蓹 biz m眉蓹yy蓹n default funksiyas谋 arqumentl蓹r daxil
bel蓹 ki, he莽 ad谋, bel蓹 ki, var, 蓹g蓹r biz getm蓹k 蓹g蓹r yaln谋z / hello,
avtomatik olaraq filtreler ad谋 None b蓹rab蓹rdir.
>> Bel蓹likl蓹, biz g枚st蓹rm蓹k Name = ad谋 il蓹 艧ablon,
bel蓹 ki, ad谋 parametr ke莽iril蓹c蓹k bu ad funksiyas谋 parametr b蓹rab蓹r,
艦ablon daxil.
Nec蓹 ki, h蓹l蓹 izah etmir Hello World 莽ap q蓹rar q蓹bul,
v蓹 ya m蓹nim ad 莽ap.
Bel蓹 ki, h蓹qiq蓹t蓹n baxaq 艦ablon 枚z眉,
ki, g蓹l蓹n harada g枚rm蓹k.
>> Bel蓹 ki, bu 艦ablon 蓹rzind蓹 biz h蓹qiq蓹t蓹n bir 艧蓹rti m蓹ntiq var,
olan b蓹zi insanlar ki, m眉bahis蓹, h蓹qiq蓹t蓹n,
艧蓹rti bir 莽ox olmamal谋d谋r Sizin 艦ablon daxilind蓹 m蓹ntiq.
Bu 蓹rzind蓹 daha 莽ox olmal谋d谋r Controller, lakin bu, m蓹s蓹l蓹n
Bu olduqca ki莽ik bir 艧ey var.
Ad谋 Odur ki, biz, bel蓹 ki, yoxlamaq 蓹g蓹r ad谋 None b蓹rab蓹r deyil,
bir ad 蓹slind蓹 蓹g蓹r , sonra biz ed蓹c蓹k ke莽di
il蓹 ad谋, Hello dem蓹k header v蓹 莽ad谋r,
B眉t眉n bu normal HTML, ba艧qa, biz Hello 莽ap, D眉nya yaln谋z normal.
Bel蓹 ki, bir ne莽蓹 艧ey burada qeyd etm蓹k Siz 艧ablonu format haqq谋nda,
bu ki, b眉t眉n 艧蓹rti hesabatlar谋
sort kimi biz bunu zaman PHP nec蓹 B蓹zi PHP daxil etm蓹k ist蓹yir蓹m,
az-d蓹n istifad蓹 sual mark, burada sort analoji var
{% il蓹.
>> Bel蓹 ki, burada, biz 艧蓹rti kodu var.
V蓹 sonra, h蓹qiq蓹t蓹n, ist蓹diyiniz zaman sanki bir 艧ey qiym蓹tl蓹ndirm蓹k v蓹 莽ap
ekran h蓹yata, siz ikiqat a艧谋rma istifad蓹 edin.
Bel蓹 ki, burada ikili a艧谋rma var, sonra biz ad谋n谋 daxil,
ki 莽蓹r莽iv蓹sind蓹 bel蓹 ki, qiym蓹tl蓹ndir蓹c蓹k d蓹yi艧蓹n ad谋, hans谋
d蓹n k枚莽眉rd眉 , 艧ablon funksiyas谋 g枚st蓹rm蓹k
deyil, yaln谋z 莽ap 莽ox h蓹yata, biz bu xilas 蓹g蓹r,
yaln谋z s枚z 莽ap olard谋 "ad谋".
Bel蓹 ki, 眉莽眉n izl蓹m蓹k 眉莽眉n bir 艧ey var.
>> Bel蓹 ki, ba艧qa bir 艧ey 眉莽眉n bildiri艧 zaman biz ki,
istifad蓹 etm蓹k ist蓹diyiniz render_template funksiyas谋,
biz, h蓹qiq蓹t蓹n, idxal var Bu ayd谋n Flask olan.
Bu n眉mun蓹sidir kolba modularity,
idxal yoxdur ki, 茝g蓹r ehtiyac yoxdur 艧eyl蓹r.
Siz yaln谋z g蓹tir蓹 bil蓹r funksiyalar谋 h蓹qiq蓹t蓹n
b蓹z蓹n olan laz谋md谋r g枚z蓹l, bel蓹 ki, yoxdur
b眉t眉n bu funksiyalar谋 var Siz istifad蓹 etdiyiniz 蓹traf谋nda oturan,
h蓹m d蓹, siz ki, unutmaq 蓹g蓹r render_template idxal laz谋md谋r,
Siz y蓹qin ki, bir x蓹b蓹rdarl谋q almaq laz谋md谋r ki, bu bar蓹d蓹 bildirin ed蓹c蓹k.
Bel蓹 ki, 艧ablonu var.
>> Bel蓹 ki, biz nec蓹 g枚st蓹ril蓹n etdik , sad蓹 web pages yaratmaq
v蓹 bir az daha m蓹ntiq 蓹lav蓹 Bu, d蓹yi艧蓹n mar艧rutla艧d谋rma bax谋m谋ndan.
Bu 蓹sas谋nda m眉xt蓹lif 艧ey蓹 imkan verir n蓹 sonra da getm蓹k v蓹 URL verir
HTML bir az daha m蓹nada h蓹r 艧eyi g枚st蓹rm蓹k ist蓹yir蓹m nec蓹 艧蓹rtl蓹ri.
Siz b眉t眉n qoymaq yoxdur Sizin Python HTML,
lakin olduqca 莽ox 眉莽眉n h蓹r web proqram,
Siz bir n枚v ist蓹yir蓹m olacaq data model il蓹 ba臒l谋.
>> V蓹 bel蓹 茝n蓹n蓹vi olaraq, bu ki bir SQL veril蓹nl蓹r bazas谋 kimi bir 艧ey ola bil蓹r.
V蓹 yaln谋z qar艧谋l谋ql谋 bil蓹r birba艧a SQL il蓹.
Python var M蓹n deyirl蓹r edir蓹m.
SQLite 3.
Siz yaln谋z SQLite 3 idxal ed蓹 bil蓹r v蓹 birba艧a SQL sor臒u icra
lakin M蓹n sizi bilmir蓹m, lakin m蓹n, h蓹qiq蓹t蓹n, yaln谋z kimi deyil
SQL queries yaz谋l谋.
Bu, h蓹qiq蓹t蓹n almaq 眉莽眉n 莽al谋艧谋r uzun v蓹 m眉r蓹kk蓹b.
>> Bel蓹 ki, bir 艧ey ki, M蓹n istifad蓹 var n蓹 kimi
bir bir ORM kimi tan谋nan obyekt-relational mapping.
V蓹 bir point obyekt-relational mapping,
iki m眉xt蓹lif var ki yollar谋 veril蓹nl蓹r bazas谋 haqq谋nda d眉艧眉nm蓹k olar.
>> M蓹s蓹l蓹n Bel蓹 ki, Professor Malan ad蓹t蓹n
sinif istifad蓹 Excel masa edir bu sat谋r v蓹 bu s眉tun var,
v蓹 bunun 眉莽眉n h蓹qiq蓹t蓹n faydal谋d谋r Bu SQL t蓹msil olunur nec蓹
v蓹 bu il蓹 qar艧谋l谋ql谋 nec蓹, lakin Bu h蓹qiq蓹t蓹n ba艧qa bir yol
b蓹z蓹n bu bar蓹d蓹 d眉艧眉nm蓹k faydal谋, D蓹rsl蓹r v蓹 obyektl蓹ri bax谋m谋ndan.
>> Bel蓹 ki, 蓹v蓹zin蓹 d眉艧眉nc蓹 h蓹r bir masa olan kimi
m眉蓹yy蓹n var ki, bu s谋ra m蓹lumat, h蓹qiq蓹t蓹n bil蓹rsiniz
olan kimi hesab H蓹r bir masa bir sinif,
v蓹 sonra h蓹r instansiya class m眉蓹yy蓹n x眉susiyy蓹tl蓹ri var.
Bel蓹 ki, bu n眉mun蓹, hallarda sinif c蓹dv蓹ld蓹 sat谋r var,
v蓹 sonra h蓹r m眉lkiyy蓹t ki c蓹dv蓹ld蓹 bir s眉tun ola bil蓹r.
>> Bel蓹 ki, m蓹n ist蓹yir蓹m ORM peewee adlan谋r istifad蓹 etm蓹k.
Bu n枚v Flask kimi, h蓹qiq蓹t蓹n ki莽ik.
M蓹n onlar birlikd蓹 getm蓹k ki, hesab edir蓹m ki, lakin dig蓹r ORMs bir 莽ox var
istifad蓹 ed蓹 bil蓹rsiniz ki.
Daha m蓹艧hur biridir SQLAlchemy kimi tan谋nan,
M蓹n niy蓹 ilk xat谋rlay谋ram bilm蓹z , SQLAlchemy 眉z蓹rind蓹 peewee se莽di
v蓹 ya m蓹n siz蓹 niy蓹 dem蓹k ist蓹yir蓹m 蓹n yax艧谋 biri hesab edir蓹m ki,
lakin biz yaln谋z bu istifad蓹 etm蓹k olacaq M蓹n istifad蓹 etm蓹k nec蓹 莽眉nki.
>> Bel蓹 ki, bir sual, niy蓹 Bir ORM istifad蓹 narahat olmal谋d谋r,
蓹v蓹zin蓹 yaln谋z birba艧a SQL queries yaz谋l谋?
M蓹n 蓹n yax艧谋 halda hesab edir蓹m ki, Siz, h蓹qiq蓹t蓹n, yoxdur ki,
SQL queries yazmaq laz谋md谋r.
M蓹n siz蓹 g枚st蓹rm蓹k laz谋md谋r kimi Bu, 莽ox asand谋r se莽im kimi 艧eyl蓹r, durub,
silinm蓹si, x眉susil蓹 masalar yarad谋lmas谋.
Bu 莽ox asand谋r bir sinif strukturu yazmaq,
Bu strukturu daha yarat C蓹dv蓹l 艦蓹rhd蓹, lakin bir 艧ey
, x蓹b蓹rdar olmaq ki, ORM 蓹n yax艧谋 莽al谋艧aca臒谋q
anlamaq 眉莽眉n n蓹 蓹n s蓹m蓹r蓹li SQL sor臒u olacaq
lakin b蓹z蓹n yanl谋艧 olur.
>> V蓹 etdiyiniz x眉susil蓹 b枚y眉k bazas谋 il蓹 i艧,
Bir sor臒u ki, qeyd ed蓹 bil蓹r ki, s眉r蓹tli 莽al谋艧an olmal谋d谋r
h蓹qiq蓹t蓹n art谋q edir.
V蓹 nec蓹 ba艧l谋q alt谋nda baxsaq ORM, SQL ki, t蓹rc眉m蓹 olunur
bir 艧ey bunu bil蓹r h蓹qiq蓹t蓹n g眉lm蓹li,
yaln谋z sort 莽眉nki Sizin niyy蓹t s蓹hv i艧ar蓹.
V蓹 d蓹f蓹 burada olub M蓹n bunu yaln谋艧 idi v蓹 yaln谋z sonra
yaln谋z 枚z SQL queries icra Bu q蓹rib蓹 bir 艧蓹kild蓹 t蓹hlil edildi.
Bel蓹 ki, orada b蓹zi yaln谋z yol, yer眉st眉
Bu t蓹rtib ki, sizin SQL daxil a艧a臒谋 hesabatlar谋.
>> Bel蓹 ki, tez super baxaq bir veri model bir sad蓹 misal
Siz istifad蓹 ed蓹 bil蓹r ki,.
Bel蓹 ki, bu Python kodu, v蓹 Siz ist蓹diyiniz ilk 艧ey edir
peewee idxal *.
Bel蓹 ki, Flask f蓹rqli olaraq siz harada B眉t眉n bu f蓹rdi modullar谋,
v蓹 Flask idxal etm蓹k ist蓹yirik v蓹 艦ablon v蓹 b蓹zi ba艧qalar谋 yazmaq
Biz sonra g枚r蓹c蓹ksiniz ki, Peewee olan, yaln谋z h蓹r 艧eyi ed蓹 bil蓹rsiniz
莽眉nki bu, olduqca ki莽ik bir kitabxana var.
>> Bel蓹 ki, Siz ist蓹diyiniz ilk 艧ey, h蓹qiq蓹t蓹n, bu veril蓹nl蓹r bazas谋 obyekt yaratmaq.
Bel蓹 ki, siz db = SqliteDatabase, v蓹 sonra bazas谋 ad谋.
Bu, h蓹qiq蓹t蓹n, irad蓹 bir veril蓹nl蓹r bazas谋 obyekt yaratmaq
Siz Peewee il蓹 qar艧谋l谋ql谋 bil蓹r.
>> V蓹 sonra, biz faktiki var yaratmaq ist蓹yirik model.
Bel蓹 ki, masa yaratmaq ist蓹yirik.
Bel蓹 ki, Peewee 蓹rzind蓹, h蓹r bir sinif var bazas谋 蓹rzind蓹 枚z masa.
Bel蓹 ki, d蓹rsl蓹ri b眉t眉n baza model varis,
v蓹 kapital M model peewee m眉蓹yy蓹n bir 艧ey.
>> Bel蓹 ki, sizin modell蓹ri b眉t眉n olmal谋d谋r onlar谋n y眉ks蓹k superclass kimi varis,
onlar varis laz谋md谋r model, lakin h蓹qiq蓹t蓹n s蓹rin var n蓹,
Siz, h蓹qiq蓹t蓹n, sizin ola bil蓹r ki, modell蓹ri bir-birind蓹n irs.
V蓹 莽ox vaxt, sizin data modell蓹ri m眉tl蓹q deyil
g枚z蓹l miras iyerarxiya, lakin onlar harada d蓹f蓹, bu, h蓹qiq蓹t蓹n g枚z蓹l
Siz model var, 莽眉nki bir-birind蓹n xas.
>> Bel蓹 ki, biz bu sinif m眉蓹yy蓹n Bir model v蓹r蓹s蓹lik "艧agird",
v蓹 眉莽 x眉susiyy蓹tl蓹ri var.
Bu ki, bir ID var bir PrimaryKeyField olan
t蓹qdim ki, bir 艧ey deyil Peewee, ad谋 Charfield deyil,
v蓹 bir sinif bir IntegerField edir.
Bel蓹 ki, bu v蓹 ya ola bil蓹r nec蓹 CS50 h蓹qiq蓹t蓹n b眉t眉n ma臒azalar
t蓹l蓹b蓹l蓹rin notlar谋.
Bu deyil, lakin bu, m蓹n bunu nec蓹 edir.
>> V蓹 sonra 蓹rzind蓹 var Bu sinif v蓹 bu
Siz ed蓹 bil蓹rsiniz bir 艧eydir Python, siz nested d蓹rsl蓹ri ola bil蓹r.
Bu bir 艧ey deyil ki peewee t蓹l蓹b olunur.
Bel蓹 ki, bu sinif Meta, siz veril蓹nl蓹r bazas谋 ki, m眉蓹yy蓹n etm蓹k 眉莽眉n
obyekt b蓹rab蓹r Yuxar谋da yaratd谋臒谋.
Bu fayl bu masa n蓹 deyir h蓹qiq蓹t蓹n olan olacaq.
Bel蓹 ki, bu bir 艧ey deyil Sizin modell蓹ri b眉t眉n 蓹rzind蓹 etm蓹k.
Siz yaln谋z m眉蓹yy蓹n etm蓹k Bu Meta sinif daxilind蓹
ki, veril蓹nl蓹r bazas谋 db b蓹rab蓹rdir.
M蓹n 蓹g蓹r m蓹n ad蓹t蓹n n蓹 m眉xt蓹lif modell蓹ri bir d蓹st蓹,
M蓹n bir baza var model, M蓹n ad蓹t蓹n
yaln谋z "baza model" z蓹ng ki, Meta sinif var,
v蓹 DB b蓹rab蓹r bazas谋 edir.
V蓹 m蓹nim sonrak谋 modell蓹ri sonra b眉t眉n ki, baza sinif varis ed蓹c蓹k.
V蓹 sonra m蓹n narahat yoxdur Meta sinif yarad谋lmas谋 haqq谋nda.
>> Bel蓹 ki, bu, h蓹qiq蓹t蓹n, olur bir SQL b蓹yanat daxil a艧a臒谋 t蓹rtib,
a艧a臒谋 bu murdar 艧ey kimi g枚r眉n眉r Burada, "masa t蓹l蓹b蓹 ID tam yarad谋n
"N蓹.
>> V蓹 m蓹n bu q谋sa hesab edir ki, burada bu SQL sor臒u,
ancaq burada bu sinif baxsaq Siz ged蓹n d蓹qiq n蓹 ed蓹 bil蓹rsiniz.
Siz yataqlar谋n谋n n蓹 n枚v ed蓹 bil蓹rsiniz onlar adlan谋r n蓹 var,
v蓹 m蓹n hesab edir蓹m ki, Bu Python kodu baxaraq
daha 莽ox oxunaql谋 Bu SQL sor臒u yazmaq 眉莽眉n 莽al谋艧谋r谋q.
>> Bel蓹 ki, 眉莽眉n h蓹qiq蓹t蓹n veril蓹nl蓹r bazas谋 istifad蓹,
biz Python 蓹rzind蓹 qo艧ulmaq laz谋md谋r.
Bel蓹 ki, m蓹n ad蓹t蓹n adl谋 funksiyas谋 yazmaq iki 艧eyi edir initialize_db.
Bu veril蓹nl蓹r bazas谋 edir object db v蓹
yaln谋z a莽an, onu birl蓹艧dirir veril蓹nl蓹r bazas谋 b枚lm蓹sin蓹 q蓹d蓹r.
Siz yaln谋z baxmayaraq 莽al谋艧t谋r谋yorsan谋z yerli ma艧谋n haqqinda,
Bu narahat bir super b枚y眉k deyil birl蓹艧dir蓹n v蓹 ay谋r谋c谋 haqq谋nda
ancaq 莽al谋艧an 蓹g蓹r Bir web, siz
蓹min zaman bir istifad蓹莽i, 蓹min etm蓹k ist蓹yir蓹m Onlar yax谋n zaman, bu ba臒lan谋r
bax, onlar bel蓹 ay谋rmaq siz ba臒l谋 bir d蓹st蓹 yoxdur
Sizin bazas谋nda b眉t眉n bir d蓹f蓹.
>> V蓹 sonra, zaman bazas谋nda ba臒lanmak,
Siz db.create_tables z蓹ng etm蓹k ist蓹yir蓹m v蓹 ist蓹diyiniz 眉莽眉n modell蓹r siyah谋s谋
masalar yaratmaq.
Bel蓹 ki, burada, m蓹n yaln谋z ist蓹yir蓹m Bu t蓹l蓹b蓹 眉莽眉n yaratmaq.
V蓹 sonra, vacibdir n蓹, edir t蓹hl眉k蓹siz = True 莽ox vaxt m眉蓹yy蓹n.
Bel蓹 ki, n蓹 bu b蓹yanat ed蓹c蓹yik, bu idimi
眉莽眉n masalar yarad谋r t蓹l蓹b蓹 model, lakin yaln谋z
ki, masa deyil, 蓹g蓹r art谋q yarad谋lm谋艧d谋r.
N蓹 t蓹hl眉k蓹siz 蓹sas蓹n x眉susi var.
Bel蓹 ki, yazmaq olmaz M枚vcud masa,
Yaln谋z bir yeni yaradacaq masa yoxdur bir olarsa.
Bel蓹 ki, yaln谋z yarada bil蓹r masalar bir SQL istifad蓹 ed蓹r蓹k.
V蓹 sonra bazas谋 oturan orada, sonra h蓹r d蓹f蓹 qo艧ulmaq,
lakin bu, yaln谋z ad蓹t蓹n g枚z蓹l bu create_tables z蓹ng qoymaq,
bel蓹 ki, he莽 silm蓹k 蓹g蓹r sizin veril蓹nl蓹r bazas谋 zaman web run
app yenid蓹n, bu yeniden olacaq.
>> Bel蓹 ki, yaln谋z t蓹hl眉k蓹siz 蓹min olun True olmaq 眉莽眉n m眉蓹yy蓹n edilir,
v蓹 ya sad蓹c蓹 sizin data tapa h蓹r zaman clobbered almaq.
V蓹 sonra, yaln谋z z蓹ng ed蓹 bil蓹rsiniz yaratmaq initialize_db
蓹laq蓹 v蓹 yaratmaq masalar z蓹ruri hallarda.
>> Bel蓹 ki, 蓹n 眉mumi 艧ey Siz n蓹 etm蓹k ist蓹yir蓹m ki,
v蓹 ya 蓹n 眉mumi 艧eyi biridir, h蓹qiq蓹t蓹n 艧eyi daxil edir
Sizin bazas谋nda.
Bel蓹 ki, daha 莽ox olan INTO bir daxil yazmaq
b眉t眉n b蓹yanat谋 d蓹y蓹rl蓹ri m眉蓹yy蓹n,
Siz, h蓹qiq蓹t蓹n, z蓹ng ed蓹 bil蓹rsiniz t蓹l蓹b蓹 sinif f蓹aliyy蓹t g枚st蓹rir.
Bel蓹 ki, bir sinif bil蓹n ki, model v蓹r蓹s蓹lik
Bu metodu yaratmaq var.
>> Bel蓹 ki, sinif name.create etm蓹k, v蓹 parametrl蓹ri daxil
Siz ke莽m蓹k ist蓹yir蓹m.
Bel蓹 ki, m蓹n b蓹zi 艧agirdl蓹r 蓹lav蓹 etm蓹k ist蓹yirsinizs蓹 Bizim CS50 grade kitab M蓹s蓹l蓹n,
M蓹n kim var David qoymaq laz谋md谋r 莽ox yax艧谋 d蓹r蓹c蓹li, o, 95 var.
V蓹 枚z眉m眉, kim bunu deyil bel蓹 d蓹 CS50, m蓹n bir 50 var.
Bel蓹 ki, g枚z蓹l 艧ey haqq谋nda Bu yaratmaq funksiyas谋 n蓹,
Bu instansiya qaytar谋r, v蓹 ya ki, sat谋r, masa 莽蓹r莽iv蓹sind蓹 yarad谋lm谋艧 ki,
v蓹 bel蓹 sonra bir ki, saxlamaq d蓹yi艧蓹n v蓹 daha sonra i艧.
Siz 蓹traf谋nda d蓹yi艧蓹 bil蓹rsiniz olan M蓹n bir n眉mun蓹 g枚st蓹rm蓹k laz谋md谋r.
>> M蓹n deyil ki, qeyd ID m眉蓹yy蓹n etm蓹k,
Bu ild蓹n 莽眉nki PrimaryKeyField, avtomatik olaraq ed蓹c蓹k
Siz daxil deyil, 蓹g蓹r artt谋rmay谋.
V蓹 蓹slind蓹, y蓹qin ki, Onu m眉蓹yy蓹n deyil,
Siz t蓹sad眉f蓹n bil蓹r, 莽眉nki Ba艧qas谋n谋n ID d枚ym蓹k.
V蓹 etm蓹k ist蓹yir蓹m Bu unikal 蓹min olun.
>> Bel蓹 ki, h蓹qiq蓹t蓹n, 蓹n Siz ist蓹diyiniz 眉mumi 艧ey,
y蓹qin ki, se莽in Siz bir d蓹f蓹 bazas谋n谋n
orada bir 莽ox informasiya var.
Bel蓹 ki, h蓹r 艧ey almaq ist蓹yirsinizs蓹, bel蓹 se莽in ulduz ekvivalent
t蓹l蓹b蓹l蓹r 艧蓹rhd蓹, onu yaln谋z student.select olard谋.
V蓹 bir s谋ra siz蓹 geri ver蓹c蓹k 艧agirdin b眉t眉n bu obyektl蓹rin
Siz 眉z蓹rind蓹 t蓹krarlamaq ki, ist蓹yir蓹m.
Siz 艧eyi 蓹ld蓹 ed蓹 bil蓹rsiniz.
V蓹 莽ox vaxt, siz yaln谋z se莽in etm蓹k ist蓹mir蓹m,
Siz, h蓹qiq蓹t蓹n, bir 艧ey ifad蓹 etm蓹k ist蓹yir蓹m.
Bel蓹 ki, siz z蓹ncir bil蓹rsiniz birlikd蓹 bu funksiyas谋 z蓹ngl蓹r,
nec蓹 z蓹ncir oldu臒u kimi SQL birlikd蓹 hesabatlar谋.
Bel蓹 ki,) (student.select ed蓹 bil蓹rsiniz. Harada Bu misalda.
V蓹 sonra, siz 艧蓹rait m眉蓹yy蓹n
yaln谋z normal Python istifad蓹 Booleans 艧eyi yoxlamaq.
>> Bel蓹 ki, bu halda, siz ist蓹yir蓹m , siz se莽ilm蓹si ne m蓹hdudla艧d谋rmaq
student.grade 50 b蓹rab蓹r oldu臒u, v蓹 student.name, Ezra b蓹rab蓹rdir
bel蓹 ki, yaln谋z m蓹n蓹 olacaq.
V蓹 h蓹qiq蓹t蓹n, bir qeyd inc蓹 艧ey burada
Siz m眉蓹yy蓹n etm蓹k ist蓹yirsinizs蓹, ki, bir v蓹 / v蓹 ya v蓹 / v蓹 ya,
Python, normal istifad蓹 edir, M蓹n s枚z眉 "v蓹" h蓹qiq蓹t蓹n hesab edir蓹m ki,
lakin burada bir i艧areti istifad蓹 olan normal bir bitwise operator,
lakin bu x眉susi halda, yaln谋z yol peewee yoxdur,
Siz t蓹k istifad蓹 ampersand m眉蓹yy蓹n "v蓹 s." 眉莽眉n
Ki, bir 艧ey var ki, M蓹n bir 莽ox qar谋艧d谋r谋l谋r almaq,
lakin bu g蓹lm蓹k deyil praktikada 莽ox.
>> V蓹 sonra, bir d蓹f蓹 b眉t眉n var veril蓹nl蓹r bazas谋 h蓹yata t蓹l蓹b蓹l蓹r,
g枚rm眉艧眉k d蓹f蓹 se莽in ist蓹yirik v蓹 geyimi v蓹 ya h蓹r hans谋,
Bir foreach loop istifad蓹 ed蓹 bil蓹rsiniz, yaln谋z Python normal kimi
iterator h蓹r hans谋 il蓹 v蓹 ya serial谋n h蓹r hans谋 il蓹.
Bel蓹 ki, s, ed蓹 bil蓹rsiniz student.select da (). whe
(Student.grade <75) v蓹 bu yenid蓹n c蓹dv蓹ld蓹 h蓹r bir t蓹l蓹b蓹 眉z蓹rind蓹 t蓹krarlamaq
Onun grade az 75 olan bu halda, h蓹l蓹 d蓹 yaln谋z m蓹n蓹 deyil.
V蓹 sonra 蓹rzind蓹 bir 艧ey ola bil蓹r ki loop kimi m蓹n蓹 bir e-po莽t g枚nd蓹rm蓹k
v蓹 m蓹n蓹 h蓹qiq蓹t蓹n dem蓹k M蓹nim Problem Sets a莽谋n.
>> Bel蓹 ki, ba艧qa bir 艧ey ed蓹 bil蓹rsiniz Bunu, bu, h蓹qiq蓹t蓹n asan deyil
masa 莽蓹r莽iv蓹sind蓹 sat谋r yenil蓹m蓹.
Bel蓹 ki, burada geri xat谋rlay谋ram, Sizin m蓹n daxil,
M蓹n d蓹y蓹r ald谋 student.create geri,
M蓹n Ezra adl谋 ad谋 onu t蓹yin.
V蓹 indi, d蓹yi艧蓹 bil蓹rsiniz ki, m蓹s蓹l蓹n 蓹rzind蓹 d蓹y蓹rl蓹r,
yaln谋z kimi ki, bir Python normal sinif.
>> Bel蓹 ki, m眉蓹yy蓹n ed蓹 bil蓹rsiniz ezra.grade = 95 v蓹 ki, yerli sur蓹ti yenil蓹yir,
lakin h蓹qiq蓹t蓹n ist蓹yirsinizs蓹 veril蓹nl蓹r bazas谋 ki, d蓹yi艧iklik t枚r蓹tm蓹k,
Siz ezra.save z蓹ng etm蓹k bel蓹 ki, saxla metodu adlan谋r
instansiya.
>> V蓹 indi, u臒urla d蓹yi艧ib veril蓹nl蓹r bazas谋 蓹rzind蓹 枚z grade.
Bel蓹 ki, sonra m蓹n sak谋n ki, bildirin veril蓹nl蓹r bazas谋 蓹rzind蓹 m蓹nim d蓹r蓹c蓹li d蓹yi艧ir.
Professor Malan y蓹qin ki, davam edir sinif m蓹ni silm蓹k ist蓹yir蓹m,
v蓹 siz silin z蓹ng ed蓹 bil蓹rsiniz ki, yaln谋z 艧ey instansiya 眉sulu.
>> Ist蓹yirdi Bel蓹 ki, getm蓹k 眉莽眉n geri bu loop burada,
v蓹 h蓹qiq蓹t蓹n yerin蓹 e-po莽t b眉t眉n g枚nd蓹rilm蓹si
t蓹l蓹b蓹 kimin grade az 75 莽ox, siz onlar谋 silm蓹k ist蓹yirdi,
Bu loop 蓹rzind蓹 bil蓹r s.delete instansiya z蓹ng.
V蓹 Siz ist蓹diyiniz son 艧ey, Bir ke莽id yaratmaq zaman deyil,
v蓹 sizin i艧 il蓹 tamamlay谋n Siz db.close z蓹ng etm蓹k ist蓹yir蓹m
burada db veril蓹nl蓹r bazas谋 var biz 蓹vv蓹l idi ki, etiraz.
V蓹 蓹min etm蓹k ist蓹yir蓹m h蓹r 艧ey h蓹yata ba臒lad谋 olur.
>> Cool.
Bel蓹 ki, indi m蓹n n眉mun蓹 proqram.
I n枚v yaln谋z h蓹r 艧eyi 蓹vv蓹lc蓹d蓹n etdik ki, h蓹r hans谋 bir canl谋 kodla艧d谋rma olmayacaq
s蓹hvl蓹r, lakin biz vasit蓹sil蓹 g蓹zm蓹k olar Bu v蓹 kolba qoymaq olard谋 nec蓹
v蓹 birlikd蓹 peewee, v蓹 sad蓹 app edir.
M蓹n CS50 rant z蓹ng v蓹 bu sad蓹 bir blog platforma sort.
>> Bel蓹 ki, ilk, m蓹n onu run laz谋md谋r v蓹 , bu kimi g枚r眉n眉r n蓹 g枚st蓹rm蓹k
sonra biz kodu daxil daha baxmaq olar.
OK, bel蓹 ki, yaln谋z bu run ed蓹k.
M蓹n bu s蓹rin etm蓹k laz谋md谋r bir az ki莽ik.
Bu, sad蓹c蓹, 莽眉nki 莽ox olduqca var M蓹n CSS bir 莽ox etm蓹yib
lakin bu n蓹 o edir blog bu bazas谋
v蓹 b眉t眉n ke莽ir onlara v蓹 bu onlara g枚st蓹rilir
茝n son s谋ras谋na s蓹hif蓹.
V蓹 bu yaln谋z bir ismar谋c var M蓹n bazas谋nda saxlan谋l谋r ki,.
>> Biz yeni yaratmaq ist蓹yirsinizs蓹 Bel蓹 ki, post, biz yeni bir yaz谋 蓹lav蓹 ed蓹 bil蓹rsiniz
v蓹 biz ad谋 daxil ed蓹 bil蓹rsiniz post, bel蓹 ki, bir 艧ey kimi, CS50 seminar.
Wow, h蓹qiq蓹t蓹n seminar z枚vq.
>> Cool.
Sonra post bas谋n v蓹 olacaq 茝sas s蓹hif蓹y蓹 geri y枚nlendirme,
v蓹 sonra ki, g枚r眉rs眉n眉z Son post 蓹lav蓹 edildi.
V蓹 biz h蓹l蓹 b眉t眉n olanlar谋 var.
Bel蓹 ki, indi-nin b眉t眉n vasit蓹sil蓹 add谋m imkan kodu v蓹 bu h蓹yata nec蓹.
>> Bel蓹 ki, m蓹n ed蓹k ilk 艧ey hesab edir蓹m h蓹qiq蓹t蓹n modell蓹ri n蓹z蓹r.
Bir 莽ox vaxt, zaman 茝g蓹r bir 艧ey dizayn etdiyiniz,
Siz nec蓹 haqq谋nda ilk d眉艧眉nm蓹k ist蓹yir蓹m Sizin data t蓹msil olacaq
v蓹 sonra 蓹traf谋nda 艧eyi dizayn, bel蓹 ki, h蓹r 艧ey 蓹h蓹miyy蓹t k蓹sb edir.
V蓹 m蓹n nec蓹 蓹slind蓹 M蓹n bu edilm蓹si zaman, bunu
M蓹n oturdu v蓹 fikir M蓹n bir yaz谋 n蓹 ist蓹yirsiniz.
>> Bel蓹 ki, burada biz eyni struktur var M蓹n 蓹vv蓹ll蓹r qeyd edilmi艧dir ki,
biz db = Sqldatabase (posts.db) harada.
茝slind蓹, siz y蓹qin ki, ist蓹mir蓹m Sizin ad谋 bazalar谋 s蓹rt kodu.
Bu y蓹qin ki, bir parametri olmal谋d谋r b蓹lk蓹, bir yerd蓹 saxlan谋l谋r
bir konfiqurasiya fayl谋nda, lakin ox艧ar ki莽ik bir n眉mun蓹sidir,
bu a臒谋r kodu OK.
>> Bel蓹 ki, indi biz bu Post sinif, olan baza model v蓹r蓹s蓹lik.
V蓹 yen蓹 var ID = PrimaryKeyField.
茝slind蓹, siz m眉蓹yy蓹n yoxsa, M蓹n, h蓹qiq蓹t蓹n, bu xilas 蓹g蓹r,
sonra biz qay臒谋 olacaq peewee avtomatik olaraq ID sah蓹sind蓹 yaratmaq,
v蓹 avtomatik olaraq ed蓹c蓹k bir PrimaryKey, ed蓹n
M蓹n, 莽眉nki ad蓹t蓹n, h蓹qiq蓹t蓹n, g枚z蓹l hesab edir蓹m ki, siz ist蓹diyiniz bir 艧ey
amma x眉susi onu qoymaq ist蓹yir蓹m, yaln谋z m蓹n orada var unutmay谋n.
Amma siz ki, m眉蓹yy蓹n yoxsa, avtomatik olaraq olacaq.
>> Bel蓹likl蓹, m蓹n bir tarix var ki, bir DateTimeField v蓹 b眉t眉n
bu m眉xt蓹lif sah蓹l蓹ri, 蓹g蓹r peewee s蓹n蓹dl蓹rin baxmaq,
Bu m眉xt蓹lif siyah谋s谋n谋 ver蓹c蓹yik istifad蓹 ed蓹 bil蓹rsiniz sah蓹l蓹rind蓹 n枚vl蓹ri.
脟ox hiss蓹si 眉莽眉n, bu analoji var SQL g枚rm蓹k n蓹 眉莽眉n.
Bel蓹 ki, bir Charfield bir var VarCharFields, textfields,
莽ox uzun olan var bir blog kimi m蓹tnl蓹r,
potensial DateTimeFields, DoubleFields, FloatFields,
kimi h蓹r 艧eyi.
>> V蓹 dig蓹r d蓹lill蓹ri ke莽蓹 bil蓹r bu, m蓹n burada m眉蓹yy蓹n etm蓹y蓹n.
Say, misal 眉莽眉n, ist蓹m蓹di iki ismar谋艧lar谋 eyni ad谋 var imkan,
Siz m眉蓹yy蓹n ed蓹 bil蓹r True unikal kimi bir 艧ey =
v蓹 yaln谋z 蓹lav蓹 parametr var Bu onu t蓹rtib zaman sah蓹
SQL, bu m眉蓹yy蓹n ed蓹c蓹k Bu var ki, unikal olmaq 眉莽眉n.
Siz h蓹m莽inin kimi bir 艧ey daxil ed蓹 bil蓹rsiniz Biz null v蓹 b眉t眉n ba艧qa 艧eyl蓹r
Normal SQL yoxdur.
Bel蓹 ki, bu olduqca sad蓹 tarixi var model.
DateTimeField 蓹rzind蓹 burada ed蓹k, M蓹n default n蓹 ifad蓹 edildi.
M蓹n onu m眉蓹yy蓹n , datetime.datetime.now
脟眉nki yol ki, Bu qiym蓹tl蓹ndirdi olur,
Bu, h蓹qiq蓹t蓹n qiym蓹tl蓹ndirir datetime.now zaman
Bu veril蓹nl蓹r bazas谋 daxil olur.
>> M蓹n ist蓹diyiniz hesab edir蓹m ki, Bu yoxlamaq 眉莽眉n,
lakin sonra, bu kimi bir 艧ey idi 蓹g蓹r bu, h蓹qiq蓹t蓹n, bir d蓹f蓹 qiym蓹tl蓹ndirirsiniz
v蓹 sonra Datetime h蓹mi艧蓹 eyni olacaq.
Bel蓹 ki, bir 艧ey yap媒yorsun yaln谋z 蓹g蓹r datetimes il蓹 ikiqat 莽ek
Bu zaman qiym蓹tl蓹ndir蓹n ki, h蓹qiq蓹t蓹n ba艧qa daxil, v蓹 ya 蓹vv蓹l
Siz s蓹hv ola bil蓹r.
>> ad谋 yaln谋z bir deyil Charfield, orada olan
Siz ke莽蓹 bil蓹r daha arqumentl蓹r var ifad蓹 d蓹qiq n蓹 q蓹d蓹r siz
olmaq ist蓹yir蓹m, lakin burada, bu, h蓹qiq蓹t蓹n f蓹rqi yox idi.
V蓹 Text olacaq b眉t眉n post m蓹tn,
ki, bir olacaq Siz ist蓹diyiniz yaln谋z 莽眉nki TextField
Bu olduqca uzun string olmaq 眉莽眉n imkan.
>> Sonra biz bu Meta var yar谋msinif yaln谋z
biz bazas谋 ist蓹yir蓹m ki, m眉蓹yy蓹n Bu, h蓹qiq蓹t蓹n q蓹d蓹r a莽谋l谋r harada
Biz burada db obyekt olacaq.
V蓹 son 艧ey var Burada, yaln谋z bu funksiyas谋
biz olacaq ki, bizim 蓹sas app istifad蓹
qo艧ulmaq 眉莽眉n veril蓹nl蓹r bazas谋 ba艧lamaq 眉莽眉n Bu, sonra Post masa yaratmaq.
>> 陌ndi 蓹sas app 枚z眉 baxaq.
Bel蓹 ki, bu bir 莽ox olanlar谋 art谋q bit
biz 蓹vv蓹l g枚rd眉m ki, lakin 眉mid 莽ox pis deyil.
Bel蓹 ki, m蓹n蓹 bu uzatmaq ed蓹k.
Oldu.
>> Bel蓹 ki, qeyd v蓹 top I idxal ba艧qa 艧eyl蓹r b眉t眉n d蓹st蓹
Flask biz deyil ki, h蓹qiq蓹t蓹n, 蓹vv蓹l g枚r眉ld眉.
V蓹 眉mid edir蓹m ki, biz vasit蓹sil蓹 getm蓹k olar bu bir-bir h蓹r biri
v蓹 haqq谋nda bir az daha 莽ox dan谋艧maq Onlara, m蓹s蓹l蓹n s谋ralamas谋.
Bel蓹 ki, biz, kolba var v蓹 render_template,
olan biz 蓹vv蓹l g枚rd眉m bu t蓹l蓹bi obyekt,
biz nec蓹 baxd谋臒谋m谋z zaman g蓹l蓹c蓹k ki, M蓹n, h蓹qiq蓹t蓹n, g枚st蓹rirdi formas谋
i艧l蓹yir.
Siz y枚nlendirme imkan verir, Y枚nl蓹ndirm蓹 geri yarad谋n New Post
orijinal ana geri, sonra Siz蓹 imkan verir ki, bir 艧ey URL,
harada 艧ekillendirmek veb x眉susi s蓹hif蓹.
>> Bel蓹likl蓹, n枚vb蓹ti M蓹n 艧ey, m蓹n idxal edir
Modell蓹r m蓹lumat b眉t眉n biz yaln谋z baxaraq fayllar谋.
V蓹 B蓹li.
>> Bel蓹 ki, yeni ba艧qa bir 艧ey g蓹lir ki, Siz il蓹 m蓹艧臒ul oldu臒unuz zaman,
x眉susil蓹 veril蓹nl蓹r bazas谋, Siz daxil ed蓹 bil蓹rsiniz ki,
蓹vv蓹l deyil蓹n olur bir funksiyas谋 olur h蓹r t蓹l蓹bi v蓹 funksiyas谋
Bu istifad蓹 ed蓹r蓹k, h蓹r sor臒usundan sonra 莽a臒谋r谋b funksiyas谋 Decorator app.before sor臒u.
>> V蓹 bu icra ed蓹c蓹k harada bu funksiyas谋 var.
Bu olmaq deyil xahi艧i 蓹vv蓹l 莽a臒谋r谋b
lakin ad蓹t蓹n bir 艧ey var z蓹ng etm蓹k h蓹ssas.
Siz n蓹 funksiyas谋 daxil ed蓹 bil蓹rsiniz Siz orada adl谋 almaq ist蓹yir蓹m
m蓹n bu initialize_db m眉蓹yy蓹n biz modell蓹ri geri idi funksiyas谋
fayl, bel蓹 ki, h蓹r sor臒u 蓹vv蓹l, bazas谋nda ba臒lanmak 眉莽眉n ist蓹yir蓹m.
>> Iki f蓹rqli var yollar谋 bunu ed蓹 bil蓹rsiniz.
Sizapp ed蓹 bil蓹rsiniz., I Bu after_request inan谋ram.
Aras谋nda f蓹rq after_request v蓹 teardown_request,
after_request yaln谋z ba艧 ver蓹c蓹k ki, t蓹l蓹bi h蓹qiq蓹t蓹n etibarl谋 idi.
Bel蓹 ki, yaln谋z t蓹l蓹bi u臒urlu oldu
he莽 bir 艧ey yanl谋艧 getdi 蓹g蓹r lakin teardown_request
u臒urlu halda olur sor臒u v蓹 ya s蓹hv halda.
>> Bel蓹 ki, ad蓹t蓹n, ist蓹diyiniz teardown_request istifad蓹 etm蓹k,
Siz n蓹 etm蓹k ist蓹diyiniz halda x眉susil蓹 f蓹rqli bir 艧ey,
bir s蓹hv halda.
Lakin bazas谋 ba臒lanmas谋 眉莽眉n, ki, ba艧ar谋l谋 v蓹 ya u臒ursuz olub
biz siz蓹 ay谋rmaq ist蓹yir蓹m veril蓹nl蓹r bazas谋.
Bel蓹 ki, db.close, deyirl蓹r db obyekt.
>> Teardown_request Qeyd ed蓹k ki, istisna g枚t眉r眉r.
H蓹qiq蓹t蓹n var idi, 蓹g蓹r Bel蓹likl蓹, siz kontrol ed蓹 bil蓹rsiniz Bir s蓹hv ki, a艧a臒谋 ba臒lanmas谋 zaman
lakin burada, 眉mid edir蓹m ki, orada s蓹hvl蓹rin bir 莽ox deyil,
bel蓹 ki, biz yaln谋z sort ki, m蓹h蓹l edirik.
>> Okay, v蓹 qalan 莽ox pis deyil.
Bel蓹 ki, biz ana s蓹hif蓹sin蓹 getm蓹k zaman, bu home.html 艦ablon g枚st蓹ril蓹n
ki a莽acaq.
pass post deyil v蓹 n蓹 bu b蓹rab蓹r
biz bu post var yadda yoxdur model, bel蓹 ki, biz b眉t眉n ismar谋clar谋n谋 se莽in
v蓹 sonra siz ed蓹 bil蓹rsiniz ba艧qa bir 艧ey, Siz HARADA b蓹ndd蓹 m眉蓹yy蓹n ed蓹 bil蓹rsiniz
Bir belirtebilirsiniz sifari艧 v蓹 biz almaq
ismar谋艧lar谋 b眉t眉n sonra se莽ilmi艧 almaq v蓹
biz onlar谋 sifari艧 post.date.descending.
V蓹 m眉蓹yy蓹n ed蓹c蓹k, zaman Onlar, h蓹qiq蓹t蓹n, 莽谋xmaq
茝n son bir ilk biri olacaq.
>> V蓹 sonra, biz ki, ke莽m蓹k home.html 艧ablon,
bel蓹 ki, h蓹qiq蓹t蓹n a莽maq bildirin h蓹qiq蓹t蓹n s眉r蓹tli ki 艦ablon,
ki, i艧 nec蓹 bir g枚z at谋n.
Bu, b枚y眉k HTML deyil 眉mid edir蓹m ki, biz Python diqq蓹t bil蓹r.
>> Bel蓹 ki 艦蓹rhi 蓹lav蓹 bir link var Post v蓹 bu mar艧rut m眉蓹yy蓹n
Flask 蓹rzind蓹 ki, biz burada olan m眉蓹yy蓹n edir.
Bu yeni post mar艧rutu, v蓹 biz burada q蓹d蓹r daxil.
V蓹 bel蓹 ki, sonra getm蓹k ki, bir link Flask server 莽蓹r莽iv蓹sind蓹 mar艧rutu.
>> daha maraql谋 艧ey burada loop 眉莽眉n bu.
Bel蓹likl蓹, biz bu ki, m眉蓹yy蓹n post parametri olan
daxil k枚莽眉rd眉 render_template funksiyas谋,
post-ci ild蓹 h蓹r yaz谋 眉莽眉n q蓹bul olur obyekt.
Biz 莽ap ist蓹yir蓹m post ad谋, H1,
v蓹 sonra a艧a臒谋da, biz 莽ap etm蓹k ist蓹yir蓹m bir paraqraf 蓹rzind蓹 post m蓹tn.
>> V蓹 burada, biz, h蓹qiq蓹t蓹n, bil蓹rsiniz bir Python funksiyas谋 z蓹ng,
bel蓹 ki, biz strftime z蓹ng ed蓹 bil蓹rsiniz, ST-RF-time, v蓹 format string ke莽蓹 bil蓹r
Siz h蓹yata data 莽ap etm蓹k ist蓹yir蓹m ki,.
Bel蓹 ki, siz ki, olduqca g枚z蓹l oldu h蓹qiq蓹t蓹n bu Python funksiyas谋 z蓹ng
Burada daxilind蓹.
Siz bi莽imlendirme n蓹 yoxdur n蓹zar蓹t莽i t蓹r蓹fi h蓹qiq蓹t蓹n, 莽眉nki,
tarixi format bir 艧eydir ki, Siz View 蓹rzind蓹 m蓹艧臒ul ist蓹yir蓹m.
>> V蓹 bu y眉zd蓹 b眉t眉n h蓹r 艧eyi super 蓹h蓹miyy蓹tli deyil.
Siz s蓹n蓹dl蓹ri baxsaq Python strftime funksiyas谋 眉莽眉n,
b眉t眉n bu ifad蓹 艧eyl蓹r, amma ki,
nec蓹, n蓹 vaxt biz arad谋臒谋n谋z Burada ev s蓹hif蓹,
bir g枚z蓹l il蓹 bu format tarixi v蓹 bu ifad蓹 AM v蓹 ya PM,
lakin ad蓹t蓹n, biz 蓹g蓹r Burada bu yox idi,
Siz y蓹qin ki, b蓹zi zibil almaq laz谋md谋r 莽ox yax艧谋 baxmad谋 tarixi.
V蓹 sonra biz m眉蓹yy蓹n post.text, I v蓹 ola bil蓹r
bir ne莽蓹 qoymaq var line yaln谋z burada pozur
h蓹r post aras谋nda bo艧luq qoymaq 眉莽眉n.
>> Bel蓹 ki, m蓹n 蓹n 蓹h蓹miyy蓹tli hesab edir蓹m ki, Bu misalda 艧ey,
Siz loop 眉莽眉n istifad蓹 ed蓹 bil蓹rsiniz ki.
Bu eyni deyil 艧eyl蓹r PHP ed蓹 bil蓹rsiniz.
Siz vasit蓹sil蓹 t蓹krarlamaq bil蓹r h蓹r 艧ey ke莽di olur
v蓹 bel蓹 ki, 蓹v蓹zin蓹 olan n蓹 sur蓹ti / pastas谋, sur蓹ti / b眉t眉n HTML yap谋艧d谋r谋b
Yaln谋z sonra bir d蓹f蓹 yazmaq 眉莽眉n var, v蓹 Siz ismar谋c b眉t眉n t蓹krarlamaq olar.
>> Bu bir 艧ey deyil Ist蓹diyiniz ki, 眉mumi
m蓹lumatlar谋n bir 莽ox zaman, n蓹 眉莽眉n, ki, sizin data h蓹r 艧ey 眉莽眉n
Bir ox艧ar 艧ey etm蓹k ist蓹yir蓹m.
V蓹 sonra, yaln谋z xat谋rlay谋ram zaman ki, ayd谋n bir 艧ey 莽ap etm蓹k ist蓹yir蓹m
HTML, istifad蓹 burada ikiqat a艧谋rma,
lakin sonra m眉蓹yy蓹n etm蓹k ist蓹diyiniz zaman v蓹ziyy蓹ti haqq谋nda b蓹zi m蓹lumatlar,
ya bir loop 眉莽眉n, faiz bracket istifad蓹 edin.
>> Bel蓹 ki, Python geri gedir indeksi, bel蓹 ki, izah edir
n蓹 蓹sas ba艧 mar艧rut, biz orada getm蓹k,
yaln谋z g枚st蓹rir b眉t眉n ismar谋c, lakin sonra sual
, nec蓹 biz, h蓹qiq蓹t蓹n al谋ram ki, veril蓹nl蓹r bazas谋 daxil posts olan
bir az daha maraql谋d谋r.
>> Bel蓹 ki, zaman New bas谋n Biz burada g枚rd眉k Post link,
Bu forma sizi y枚nl蓹ndir蓹n.
V蓹 yaln谋z bir sad蓹 z蓹ng render_template funksiyas谋, daha sonra
HTML 艧蓹klind蓹 yeni v蓹zif蓹 ke莽ir.
Bel蓹 ki, bir n蓹z蓹r salaq.
Bel蓹 ki, bu olduqca sad蓹dir.
Bu sad蓹 HTML formas谋, olan bir az tan谋艧 g枚r眉n眉r,
CS50 Maliyy蓹 formalar谋 蓹saslan谋r.
V蓹 bel蓹 ki, biz burada f蓹aliyy蓹t g枚st蓹rir.
V蓹 burada, 莽al谋艧谋r谋q, 蓹g蓹r PHP il蓹, ad蓹t蓹n, onu
kimi bir 艧ey olard谋, create.PHP, lakin burada
biz, h蓹qiq蓹t蓹n, bir mar艧rut m眉蓹yy蓹n Flask server 蓹rzind蓹.
Bel蓹 ki, bu mar艧rut uy臒undur yaratmaq mar艧rutu
Biz burada var ki biz ikinci getm蓹k laz谋md谋r.
>> V蓹 bel蓹 ki, biz ki, m眉蓹yy蓹n bu bir post metodu var
biz g枚nd蓹rm蓹k ist蓹yir蓹m, 莽眉nki Bu forma data v蓹 ad蓹t蓹n
Bir formada m蓹lumatlar谋n g枚nd蓹rilm蓹si etdiyiniz zaman, Bir post sor臒usundan istifad蓹 ed蓹 bil蓹rsiniz,
Siz ba艧a yoxdur, sad蓹c蓹 bel蓹 Bu b枚y眉k, y枚nd蓹msiz URL il蓹.
Amma siz d蓹 bir GET sor臒u istifad蓹 ed蓹 bil蓹r, v蓹, d蓹yi艧蓹n mar艧rutla艧d谋rma il蓹 ke莽m蓹k
lakin formalar谋 眉莽眉n, bu g枚z蓹l burada post sor臒u.
V蓹 sonra, yaln谋z sizin kimi HTML v蓹 PHP il蓹 ed蓹c蓹yini,
bu m蓹tn giri艧 daxil ed蓹 bil蓹rsiniz, v蓹 onlara ad谋n谋 daxil ed蓹 bil蓹rsiniz,
ki, q蓹bul olacaq ad谋 Flask 蓹rzind蓹 t蓹l蓹bi obyekt蓹.
>> V蓹 sonra biz bir t蓹qdim etdik d眉ym蓹sini Post deyir ki.
V蓹 burada, Post ad谋 d眉ym蓹sini bir blog post 莽眉nki,
lakin burada, post sor臒u 眉suludur.
Bel蓹 ki, o eyni s枚z眉 var lakin h蓹qiq蓹t蓹n olmayan.
B蓹li
>> Python kodu geri gedir, biz metodu yaratmaq 莽a臒谋randa,
Burada qeyd bil蓹rsiniz ki, h蓹qiq蓹t蓹n mar艧rut 眉zr蓹 daxil
sor臒u 眉sullar谋 Siz q蓹bul etm蓹k ist蓹yir蓹m ki,
v蓹 bel蓹 ki, burada, m蓹n ki, m蓹n m眉蓹yy蓹n yaln谋z bir Post metodu q蓹bul etm蓹k ist蓹yir蓹m.
Bel蓹 ki, m蓹n, h蓹qiq蓹t蓹n, s蓹hif蓹sini ziyar蓹t 眉莽眉n c蓹hd edin birba艧a bir GET sor臒u istifad蓹 olunur,
Bu "metodu icaz蓹 verilmir." M蓹n蓹 izah ed蓹c蓹k
>> Bel蓹 ki, siz, sort kimi pages M蓹n yaln谋z deyil蓹m bu yaratmaq s蓹hif蓹
h蓹qiq蓹t蓹n bir yol kimi istifad蓹 forma t蓹qdim almaq 眉莽眉n,
Siz deyil ki belirtebilirsiniz insanlar orada getm蓹k etm蓹k ist蓹yir蓹m
birba艧a GET sor臒u vasit蓹sil蓹, v蓹 ya ist蓹diyiniz olmasayd谋,
n蓹d蓹ns蓹, bir Post t蓹l蓹bi Yaln谋z burada GET m眉蓹yy蓹n ed蓹 bil蓹r
lakin bu, m蓹s蓹l蓹n, biz yaln谋z Post sor臒u 莽谋xmaq ist蓹yir蓹m.
>> Bel蓹 ki, create_post adlan谋r zaman, zaman biz Post sor臒u vasit蓹sil蓹 ki, ziyar蓹t
M眉蓹yy蓹n bir getm蓹k zaman mar艧rutu bu ist蓹yi obyekt var,
v蓹 biz idxal idi 莽ox 眉st sor臒u,
lakin bu t蓹l蓹b var q蓹bul olur obyekt,
v蓹 formada m蓹lumat 蓹ld蓹 ed蓹 bil蓹rsiniz, avtomatik dolu olacaq
Bir formada sor臒u g枚nd蓹rm蓹k zaman.
>> V蓹 sonra, m蓹n n蓹 d眉艧眉n眉rs眉n眉z , h蓹qiq蓹t蓹n, s蓹rin edir
form obyekt ke莽di almaq 眉莽眉n , yaln谋z bir Python l眉臒蓹t ki,
Siz bel蓹 ki, burada access-- 蓹g蓹r, imkan ehtiva M蓹n蓹 yaln谋z, onun yan谋nda HTML qoparmaq
bel蓹 ki, ola bil蓹r istinad, b蓹li, bel蓹 ki,
biz burada m眉蓹yy蓹n adlar谋 m眉xt蓹lif sah蓹l蓹ri 眉莽眉n, bel蓹 ki,
ad谋 v蓹 m蓹tn, biz sonra yaln谋z burada o istifad蓹
form data daxil indeksl蓹ri kimi.
Bel蓹 ki, super rahat edir.
>> Bel蓹likl蓹, biz post.create z蓹ng yaratmaq v蓹 avtomatik olaraq daxil olacaq
bazas谋nda yeni post obyekt.
M蓹n bu funksiyan谋 yaratmaq edir蓹m Burada nec蓹 bir h蓹qiq蓹t蓹n s蓹rin n眉mun蓹sidir
g眉cl眉 Flask v蓹 bu il蓹 i艧l蓹yir 茝g蓹r bir 艧ey etdikl蓹rini, 莽眉nki
PHP, siz ola bil蓹r qiym蓹tl蓹ndirm蓹 bir 莽ox,
茝g蓹r olard谋 bir veril蓹nl蓹r bazas谋 ke莽id yaratmaq,
茝g蓹r olard谋 SQL sor臒u icra,
lakin burada biz yaln谋z bu g枚z蓹l var post.create olan biz sonra bil蓹r yaln谋z
m蓹lumat almaq sor臒u obyekt,
v蓹 sonra yeni bir onu ke莽m蓹k biz yarad谋lmas谋 edirik ki g枚nd蓹rin.
>> V蓹 son sonra biz ist蓹yirik 艧ey,
y枚nlendirme deyil ev istifad蓹莽i geri.
V蓹 bel蓹 ki, biz bu istifad蓹 Flask funksiyas谋 y枚nlendirme.
V蓹 bir 艧ey g枚rm蓹diyini 蓹vv蓹l, bu URL funksiyas谋.
Bel蓹 ki, funksiyas谋 眉莽眉n URL imkan verir Siz, h蓹qiq蓹t蓹n, ad谋 ke莽m蓹k
Sizin Python kodu bir funksiyas谋, daha x眉susi mar艧rut 莽ox
ki, da var.
>> M蓹n yaln谋z kimi asanl谋qla ola bil蓹r do臒ramaq 眉莽眉n istifad蓹莽i istiqam蓹tl蓹ndirilmi艧dir,
olan ev geri g枚nd蓹rm蓹k, lakin funksiyas谋 g枚z蓹l 眉莽眉n URL istifad蓹 ed蓹r蓹k,
Siz d蓹yi艧dirm蓹k 蓹g蓹r 莽眉nki 艧eyl蓹r yeri,
bel蓹 ki, m蓹n d蓹yi艧dirm蓹k ki, bildirin ev 蓹v蓹zin蓹 / evd蓹 olmaq
Bu h蓹l蓹 sonra qay谋tmaq ist蓹yir蓹m / home, h蓹qiq蓹t蓹n gedir v蓹 g枚r眉n眉r, 莽眉nki
funksiyas谋 ad谋 v蓹 bu, siz ki, URL geri ver蓹c蓹k.
>> Bel蓹 ki, sort haqq谋nda sen ehtimal
burada 艧eyi d蓹yi艧dirm蓹k 眉莽眉n daha 莽ox funksiyalar谋 adlar谋 daha var.
Siz, h蓹qiq蓹t蓹n, bu istifad蓹 ed蓹 bil蓹rsiniz funksiyas谋 眉莽眉n g枚z蓹l URL.
V蓹 bir 艧ey x蓹b蓹rdar olmaq ki, bir az 莽蓹tin deyil
Siz yaln谋z bil蓹r hesab edir蓹m ki, 眉莽眉n URL y枚nlendirme z蓹ng
lakin faktiki mar艧rutlar谋 b眉t眉n m蓹tn v蓹 HTML bir n枚v qay谋tmaq 眉莽眉n,
bel蓹 ki, h蓹qiq蓹t蓹n var 陌stiqam蓹tl蓹ndirm蓹 z蓹ng qay谋tmaq.
茝ks halda, bir 艧ey almaq laz谋md谋r etibars谋z bir simli qaytar谋lmas谋 haqq谋nda,
b眉t眉n bunlar qay谋tmaq laz谋md谋r, 莽眉nki HTML, h蓹qiq蓹t蓹n g枚st蓹rm蓹k ist蓹yir蓹m.
>> Bel蓹 ki, siz y枚nlendirme z蓹ng zaman, bu s蓹hif蓹y蓹 y枚nl蓹ndir蓹n
lakin bu, h蓹qiq蓹t蓹n HTML qaytar谋r ki, y枚nlendirme icra etm蓹k laz谋md谋r.
Ev蓹 s蓹hif蓹y蓹 gedin.
Bel蓹likl蓹, biz bu iki m眉xt蓹lif fikirl蓹r var.
Biz ev g枚r眉n眉艧眉 var.
V蓹 ya, M蓹n 艧ablon dem蓹k laz谋md谋r dan谋艧arlar.
Biz bu iki 艧ablonlar谋 var, ev 艧ablon hans谋
Bizim ismar谋艧lar谋 b眉t眉n g枚st蓹rir v蓹 sonra biz bu reklam 艧ey var,
Siz post bas谋n zaman, gedir Flask 蓹rzind蓹 yeni mar艧rut,
amma ki, mar艧rut m眉tl蓹q deyil m眉vafiq 艧ablon var.
Siz g枚rm蓹k yoxdur bir 艧ey, ancaq siz h蓹l蓹 d蓹 ed蓹 bil蓹rsiniz
bu i艧 gedir p蓹rd蓹 arxas谋nda.
V蓹 sonra Y枚nlendirilen 茝sas s蓹hif蓹y蓹 geri.
V蓹 m眉tl蓹q i艧 眉莽眉n asand谋r 艧ablon b蓹zi g枚z蓹l CSS
v蓹 bu 莽ox g枚z蓹l baxmaq, lakin 蓹sas m蓹ntiq b眉t眉n
Python var.
>> Ki, m蓹s蓹l蓹n haqq谋nda h蓹r hans谋 bir sual谋n谋z?
M蓹n bir 莽ox var bilirik f蓹rqli 艧eyl蓹r, orada ged蓹n
biz g枚rm蓹diyini 莽ox 艧ey 蓹vv蓹l, lakin bir 艧ey kimi.
B蓹li.
>> Auditoriya 1: he莽 bir 艧ey var var data kolpan x眉susi
艧蓹klind蓹 g蓹l蓹n?
I "yaratmaq" yaln谋z bildirib f蓹rq
EZRA Zigmond: B蓹li, bel蓹 ki, h蓹qiq蓹t蓹n ki, h蓹qiq蓹t蓹n yax艧谋 bir n枚qt蓹 var.
Sual idi, bel蓹 ki, siz蓹 n蓹 yoxlamaq v蓹 蓹min etm蓹k laz谋md谋r
data, etibarl谋 oldu臒unu v蓹 yuyulma h蓹r hans谋 yoxdur
etibarl谋 蓹min etm蓹k 眉莽眉n, Siz burada g枚r蓹 bil蓹rsiniz kimi, 莽眉nki,
M蓹n bunu deyil蓹m.
Bel蓹 ki, n蓹 g枚rm蓹k ed蓹k M蓹n bo艧 bir 艧ey g枚nd蓹rm蓹k 蓹g蓹r.
Bel蓹 ki, h蓹qiq蓹t蓹n, yaln谋z bir etm蓹k laz谋md谋r bo艧 post v蓹 DateTime doldurun.
>> Bel蓹 ki, 蓹slind蓹, siz y蓹qin ki, kimi bir 艧ey etm蓹k ist蓹yir蓹m,
title b蓹rab蓹r olduqda, b蓹lk蓹 m眉蓹yy蓹n bo艧 string, bu yoxdur.
Ad谋 v蓹 ya, yaln谋z bunu bo艧 simli b蓹rab蓹r deyil.
Bel蓹 ki, h蓹qiq蓹t蓹n avtomatik deyil ki, yuyulma qay臒谋
Sizin 眉莽眉n, bel蓹 ki, h蓹l蓹 ki, bunu etm蓹k laz谋md谋r.
B蓹li, yax艧谋 suald谋r.
>> Auditoriya 2: kolpan mu sonradan injection 眉莽眉n?
Bilirs蓹nmi?
>> EZRA Zigmond: 脺mid edir蓹m ki, peewee ki, yoxdur.
M蓹n, 蓹lb蓹tt蓹, olduqca olard谋 pis kitabxana bunu olmasayd谋.
M蓹n d蓹qiq bilmir蓹m.
M蓹n baxmaq ist蓹diyiniz Bu yarad谋lan sor臒u.
M蓹n 莽ap 蓹g蓹r, hesab edir蓹m ki, sort baxd谋 blog post
bir SQL injection h眉cum kimi, bu kimi bir 艧ey, bu halda
parol sah蓹sind蓹 v蓹 ya bir 艧ey kimi, Bu kimi bir 艧ey ola bil蓹r.
>> Hesab edir蓹m ki, h蓹l蓹 d眉艧眉n眉r蓹m sanki olunub almaq,
amma peewee n蓹 ki, hesab edir蓹m ki, m蓹lumatlar谋n yuyulma bir n枚v
Bu, h蓹qiq蓹t蓹n onu icra 蓹vv蓹l.
>> Auditoriya 1: Bu m蓹tn sah蓹dir sa臒, d眉z m蓹tn etm蓹k 眉莽眉n n蓹z蓹rd蓹 tutulmu艧dur?
>> EZRA Zigmond: B蓹li, bu.
B蓹li.
Bel蓹likl蓹, m蓹n b眉t眉n hesab edir蓹m ki, bel蓹 ki, bu d眉zg眉n davran谋艧 ki, bunu ed蓹c蓹yik,
amma peewee edir蓹m in艧allah bunu edir
Onlar谋n sonunda m眉dafi蓹 b蓹zi sort.
V蓹 ist蓹yirdi ikiqat 莽ek ki, orada
Bir sor臒u yaratmaq yollar谋 var.
bel蓹 ki, yoxdur birba艧a icra.
M蓹n bir almaq istiyorum s蓹n蓹dl蓹rin baxmaq,
lakin h蓹qiq蓹t蓹n bil蓹rsiniz Bu yaradan SQL,
ki, n蓹z蓹r, v蓹 etm蓹k Bu 艧eyi qa莽an 蓹min olun.
>> Dig蓹r s蓹b蓹b niy蓹 bil蓹r SQL baxmaq ist蓹yir蓹m
ki peewee 蓹g蓹r, tipi edir 艧eyi, h蓹qiq蓹t蓹n yava艧-yava艧 davam etm蓹k g枚r眉n眉r
Bir n蓹z蓹r v蓹 n蓹 ed蓹 bil蓹rsiniz b蓹z蓹n 莽眉nki h蓹qiq蓹t蓹n, bunu
t蓹sad眉f蓹n 蓹lav蓹 etm蓹k 眉莽眉n asand谋r da, yol yazmaq,
Siz t蓹sad眉f蓹n ola bil蓹r ilk b眉t眉n veril蓹nl蓹r bazas谋 se莽in
v蓹 sonra b蓹zi sort 蓹m蓹liyyat ki, zaman, h蓹qiq蓹t蓹n,
alt se莽m蓹k 眉莽眉n idi.
>> Bel蓹 ki, h蓹r 艧eyi, 蓹g蓹r deyil olduqca do臒ru gedir
Bu t蓹l蓹bi n蓹z蓹r yax艧谋 h蓹qiq蓹t蓹n yarad谋lan 蓹ld蓹 edir.
B蓹li.
>> Auditoriya 2: ilk ba艧layanda, Siz 5000 kimi liman谋nda qoydu.
>> EZRA Zigmond: B蓹li.
Auditoriya 2: Peewee il蓹 default v蓹 ya d蓹yi艧蓹 bil蓹rsiniz bir 艧ey ki?
EZRA Zigmond: B蓹li, bel蓹 ki, port Flask il蓹 default edir.
Siz olmadan run 蓹g蓹r bir 艧ey ifad蓹 ed蓹r蓹k,
avtomatik olaraq ed蓹c蓹yik.
M蓹n ist蓹diyiniz, iman Bu yoxlamaq 眉莽眉n,
ancaq app.run ki, m眉蓹yy蓹n ed蓹 bil蓹rsiniz M蓹n sizin kimi bir 艧ey ed蓹 bil蓹r
port = 8080.
Bir real s眉r蓹tli c蓹hd verim.
B蓹li, bel蓹 ki, yaln谋z daxil ed蓹 bil蓹rsiniz port = 8080 v蓹 bu, orada davam ed蓹c蓹k
ist蓹yirdi 蓹g蓹r m蓹n hesab edir蓹m ki, run IDE, m蓹n bu c蓹hd deyil
amma hesab edir蓹m ki, 蓹g蓹r , port 8080 qa莽d谋
Siz y蓹qin ki, m眉mk眉n olar谋q server daxil olmaq 眉莽眉n,
yaln谋z haqqinda 眉莽眉n idi ist蓹yir蓹m.
>> B蓹li, amma asan d蓹yi艧dirm蓹k 眉莽眉n, 蓹g蓹r
kimi port-ekspeditor h蓹r c眉r var Siz n蓹 etm蓹k laz谋md谋r 艧eyi.
>> H蓹r hans谋 dig蓹r suallar?
Evet?
Auditoriya 1: Bel蓹 ki, m蓹n g枚rd眉m sizin , siz dediyiniz kimi modell蓹ri
belirtti臒iniz var h蓹r bir obyekt 眉莽眉n veril蓹nl蓹r bazas谋.
Bildiyiniz 眉莽眉n n蓹 etm蓹yin yoxdur ki, 蓹g蓹r, h蓹qiq蓹t蓹n, asan
SQLite veril蓹nl蓹r bazas谋 莽ox ki, bir web app 眉莽眉n istifad蓹 etm蓹k ist蓹diyiniz,
Yaln谋z bir d蓹st蓹 daxil ed蓹 bil蓹rsiniz ki, Sizin model m眉xt蓹lif olanlar谋?
>> EZRA Zigmond: B蓹li, m蓹n蓹 imkan real s眉r蓹tli q蓹d蓹r a莽谋n.
Siz etm蓹k ist蓹yirsinizs蓹 Bel蓹 ki, dey蓹r蓹k edirik f蓹rqli bir 艧ey bir d蓹st蓹, b蓹lk蓹
b蓹zi kimi v蓹 t蓹l蓹b蓹l蓹r s蓹b蓹bi kimi bir 艧ey?
B蓹li, m蓹n hesab edir蓹m ki, h蓹l蓹 h蓹r model
h蓹l蓹 var ki, ona h蓹val蓹 bir veril蓹nl蓹r bazas谋,
ancaq ist蓹yirdi var m眉xt蓹lif modell蓹ri ki,
m眉xt蓹lif veril蓹nl蓹r bazas谋 obyektl蓹ri t蓹yin etdik bu, m眉tl蓹q bunu ed蓹 bil蓹r.
Bel蓹 ki, 蓹g蓹r m蓹n yeni yarad谋lm谋艧 bu kimi bir 艧ey,
v蓹 indi bu t蓹l蓹b蓹sidir ki, , i艧in bir blog kimi g枚r眉n眉r
Hesab edir蓹m ki, m眉蓹yy蓹n ed蓹 bil蓹r Veril蓹nl蓹r bazas谋 burada db_2 b蓹rab蓹rdir.
Bel蓹 ki, m蓹n ki, hesab edir蓹m Siz bunu ed蓹 bil蓹rsiniz 蓹sas yol.
>> Cool.
H蓹r hans谋 dig蓹r suallar?
>> Bel蓹 ki, yaln谋z bir az ba艧a 莽atd谋rmaq 眉莽眉n bit, burada b蓹zi resurslar谋,
bu slaydlar online d蓹rc olunacaq bel蓹 ki, h蓹qiq蓹t蓹n, bu links 蓹ld蓹 ed蓹 bil蓹rsiniz.
yax艧谋 resurslar谋 h蓹qiq蓹t蓹n Flask 眉莽眉n s蓹n蓹dl蓹r
v蓹 枚zl蓹rini peewee.
Onlar, h蓹qiq蓹t蓹n, yax艧谋 yaz谋lm谋艧 edirik d眉艧眉n眉r蓹m.
Bel蓹 ki, Flask veb burada v蓹 Onlar quickstart tutorial var ki,
ox艧ar vasit蓹sil蓹 g蓹zm蓹k olacaq M蓹n vasit蓹sil蓹 getdi n蓹 艧eyi,
ancaq bax谋艧 h蓹r c眉r ist蓹yirsinizs蓹 M蓹n getdi 艧eyi,
v蓹 ya m蓹n izah ki, d眉艧眉nd眉m bir confusing 艧蓹kild蓹 bir 艧ey,
onlar orada b蓹nz蓹ri n眉mun蓹l蓹r laz谋md谋r.
>> Peewee s蓹n蓹dl蓹ri var v蓹 Onlar quickstart tutorial var
ki, 蓹sas parametrl蓹ri 眉z蓹rind蓹 gedir istifad蓹 etm蓹k ist蓹yir蓹m ki,.
Bel蓹 ki, h蓹r 艧eyi m蓹n dan谋艧d谋q unikal v蓹 ifad蓹 yetirilm蓹m蓹si,
sah蓹l蓹rind蓹 m眉xt蓹lif n枚v ki, bu b眉t眉n var olacaq, istifad蓹 ed蓹 bil蓹rsiniz.
>> Ayr谋ca, varsa Peewee haqq谋nda suallar,
v蓹 siz StackOverflow onlar谋 g枚nd蓹rm蓹k h蓹qiq蓹t蓹n peewee etdi guy
gedir v蓹 b蓹z蓹n o cavab verir.
In艧allah bir sual varsa, O, cavab ed蓹 bil蓹rsiniz
o, b眉t眉n 艧ey yazd谋 莽眉nki.
Hesab edir蓹m ki, h蓹r 艧ey hesab edir蓹m M蓹n 蓹hat蓹 ist蓹di.
G蓹l蓹n 眉莽眉n t蓹艧蓹kk眉r edirik.