1 00:00:00,000 --> 00:00:00,499 2 00:00:00,499 --> 00:00:03,227 [Muzikos grojimo] 3 00:00:03,227 --> 00:00:04,705 4 00:00:04,705 --> 00:00:05,830 EZRA ZIGMOND: Sveiki, visi. 5 00:00:05,830 --> 00:00:08,020 Ačiū už išeina šiandien. 6 00:00:08,020 --> 00:00:10,660 Šis seminaras yra "Python" Web Apps "su matavimo kolbą." 7 00:00:10,660 --> 00:00:14,510 >> Taigi, aš ruošiuosi kalbėti šiek tiek apie tai, kodėl 8 00:00:14,510 --> 00:00:17,400 Jūs galbūt norėsite naudoti kolbą padaryti Web Apps Python, o ne 9 00:00:17,400 --> 00:00:21,556 kai kurių kitų sistemų ten, kaip Django, kuri yra labiausiai gerai žinomi. 10 00:00:21,556 --> 00:00:24,330 Subtitrų yra ", ir Peewee ", kuris yra kažkas, 11 00:00:24,330 --> 00:00:27,250 mes ketiname kalbėti apie tai, kaip bendrauti su SQL duomenų bazėmis. 12 00:00:27,250 --> 00:00:29,610 Ji daro tai tikrai gražus. 13 00:00:29,610 --> 00:00:32,390 >> Taigi, čia tik trumpas sąrašas ką aš noriu eiti per. 14 00:00:32,390 --> 00:00:35,520 Taigi, pirma, tik vienas Pristatymas kad tai bus quickstart, 15 00:00:35,520 --> 00:00:38,530 kuris yra kaip gauti viską įsteigti savo kompiuteryje. 16 00:00:38,530 --> 00:00:41,760 Aš ruošiuosi būti įrodoma tai mano vietos Mac mašina, 17 00:00:41,760 --> 00:00:45,220 tik todėl, kad ten aš padariau tai prieš, aš patogiausia su juo, 18 00:00:45,220 --> 00:00:48,510 bet tai tikrai galima ant CD50 IDE. 19 00:00:48,510 --> 00:00:52,050 >> Taigi, po to, noriu pristatyti tai, ką kolba, 20 00:00:52,050 --> 00:00:55,089 ir įtikinti jus, kodėl jums reikia naudoti jį į pirmąją vietą. 21 00:00:55,089 --> 00:00:56,880 Tada Aš duosiu greitas pavyzdys, ką jūs 22 00:00:56,880 --> 00:01:00,550 gali daryti kolbą, greitai pavyzdžiui ką galite padaryti Peewee, 23 00:01:00,550 --> 00:01:05,010 ir tada aš jums parodysiu daugiau pilnas pavyzdys taikymas 24 00:01:05,010 --> 00:01:07,520 kad aš kartu sudėjus, kad mes gali vaikščioti per kartu. 25 00:01:07,520 --> 00:01:10,040 >> Ir tada galiausiai, paskutinė skaidrė, turiu 26 00:01:10,040 --> 00:01:12,730 keletas išteklių, kad jums atrodo ne internete daugiau informacijos. 27 00:01:12,730 --> 00:01:15,560 Tai nėra visiškai pamoka kaip naudotis kolbą. 28 00:01:15,560 --> 00:01:18,140 Ir aš tikiuosi, kad palikti kai kurie klausimai laiką. 29 00:01:18,140 --> 00:01:21,050 Kiekvienas žiūri lokaliai, tik kaip, šaukti viduryje 30 00:01:21,050 --> 00:01:22,340 jei turite kokių nors klausimų. 31 00:01:22,340 --> 00:01:27,150 >> Taigi greitas montavimas dalykų, Jeigu norite sekti kartu, 32 00:01:27,150 --> 00:01:29,240 arba jei norite gauti šio ant savo mašina, 33 00:01:29,240 --> 00:01:32,440 Aš ruošiuosi būti naudojant Python 2.7.10. 34 00:01:32,440 --> 00:01:35,860 Gertuvės daro darbą Python 3, bet man patinka 35 00:01:35,860 --> 00:01:38,660 naudojant Python 2, nes ten kai Python paketai, 36 00:01:38,660 --> 00:01:40,910 neveikia su 3 dar. 37 00:01:40,910 --> 00:01:44,800 Jei turite PIP įrengtas, kuris yra Python paketų tvarkyklė, 38 00:01:44,800 --> 00:01:48,190 Manau, kad jei jūsų Python yra didesnis nei arba lygus 2.7.9, 39 00:01:48,190 --> 00:01:52,220 turite tai jau įdiegta, tai super lengva įdiegti šiuos paketus. 40 00:01:52,220 --> 00:01:54,990 >> Jūs galite tai padaryti PIP įdiegti Kolbą, pip įdiegti Peewee, 41 00:01:54,990 --> 00:01:58,600 Paprastai jūs turite paleisti sudo tik taip, kad leidimai dirbti. 42 00:01:58,600 --> 00:02:01,080 Ir, jei esate naudojant Super senos versijos Python, 43 00:02:01,080 --> 00:02:05,100 Aš rekomenduoju atnaujinti savo Python, arba naudojant EasyInstall įdiegti pip. 44 00:02:05,100 --> 00:02:09,180 45 00:02:09,180 --> 00:02:11,120 Taigi, kitas klausimas yra, kas yra kolba? 46 00:02:11,120 --> 00:02:13,280 Ir aš manau, pirmiausia pagrįstas klausimas man buvo įdomu 47 00:02:13,280 --> 00:02:15,585 ilgą laiką yra, kas yra Web App "? 48 00:02:15,585 --> 00:02:17,960 Nes tai žodis, kuris man nuomone, yra įmestas aplink daug 49 00:02:17,960 --> 00:02:19,240 kad aš tikrai nežino. 50 00:02:19,240 --> 00:02:22,340 Ir aš manau, kad geriausias pavyzdys, ką interneto app yra, 51 00:02:22,340 --> 00:02:26,960 tikrai yra CS50 Finansai, kur tai tikrai ne tik svetainė, 52 00:02:26,960 --> 00:02:29,320 bet tai kažkas, kad jūs gali rūšiuoti bendrauti su. 53 00:02:29,320 --> 00:02:31,736 Yra vartotojo sąskaitų ir Visi skirtingų dalykų rūšių. 54 00:02:31,736 --> 00:02:35,010 Taigi, kur tiksliai piešiama linija tarp to, kas yra svetainė, 55 00:02:35,010 --> 00:02:38,780 o kas yra Web App ", yra tarsi savavališkas, bet aš manau, idėja, 56 00:02:38,780 --> 00:02:42,110 tai kažkas daugiau nei svetainėje ir tai naudinga programa. 57 00:02:42,110 --> 00:02:46,081 >> Taigi, kolbos yra už sistema priėmimo žiniatinklio programas, naudojant Python. 58 00:02:46,081 --> 00:02:48,330 Ir tikiuosi, iki pabaigos tai aš įtikinti jus 59 00:02:48,330 --> 00:02:52,210 kad jūs iš tiesų gali rašyti kažką kaip CS50 Finansų naudojant Python, kurį aš 60 00:02:52,210 --> 00:02:53,950 kaip daug geriau nei PHP, asmeniškai. 61 00:02:53,950 --> 00:02:57,320 >> Taigi, kolba, jie vadina microframework, pagal kurį, 62 00:02:57,320 --> 00:02:59,800 jie reiškia tai labai paprasta, bet pailginamas. 63 00:02:59,800 --> 00:03:02,980 Taigi, tai yra būtent tai, ko jums reikia, bet jei norite daugiau funkcijų, 64 00:03:02,980 --> 00:03:04,522 tai lengva juos į. 65 00:03:04,522 --> 00:03:06,480 Bet tik todėl, kad tai microframework, ar ne 66 00:03:06,480 --> 00:03:08,960 reiškia, kad tai tik mažiems projektams. 67 00:03:08,960 --> 00:03:12,590 Turiu nuorodą čia, kad sako kad B. Obama naudojama kolba 2012 68 00:03:12,590 --> 00:03:14,410 jo kampanijos svetainė, kuri tikiuosi, 69 00:03:14,410 --> 00:03:16,937 yra kažkas patvirtinimu. 70 00:03:16,937 --> 00:03:18,770 Bet dalykas, kad aš tikrai patinka apie kolbą 71 00:03:18,770 --> 00:03:22,401 yra tai, kad tai tikrai ne padaryti bet sprendimus už jus rūšiuoti. 72 00:03:22,401 --> 00:03:24,150 Tiesiog todėl, kad mes kalbame apie interneto apps, 73 00:03:24,150 --> 00:03:26,940 Turiu palyginti ją su Ruby on Bėgiai ir Django, kurie abu 74 00:03:26,940 --> 00:03:30,450 yra puikus sistemos, tačiau jie abu daryti prielaidas 75 00:03:30,450 --> 00:03:33,600 apie tai, kaip norite bendrauti su duomenų bazėmis, 76 00:03:33,600 --> 00:03:36,900 kaip norite pristatyti savo peržiūros, ir jie tikrai 77 00:03:36,900 --> 00:03:38,850 geri aspektai, kad. 78 00:03:38,850 --> 00:03:41,490 >> Pavyzdžiui, Ruby on Rails turi šios veikliosios rekordinį sistemą, 79 00:03:41,490 --> 00:03:43,100 kuris yra tikrai gražus būdas sąveikauti su duomenimis, 80 00:03:43,100 --> 00:03:45,960 bet jei norite naudoti Ruby on Bėgiai, jūs tarsi surišti į tai. 81 00:03:45,960 --> 00:03:47,835 Bet su kolbą, kaip aš parodyti jums Peewee, 82 00:03:47,835 --> 00:03:49,830 galite naudoti bet rūšiuoti Duomenų bazės norite, 83 00:03:49,830 --> 00:03:53,980 ir jūs galite tiesiog patraukite, kad kaip į a kolbą pratęsimo. 84 00:03:53,980 --> 00:03:56,350 >> Štai kodėl aš tikrai kaip kolbą, tai, kad ji 85 00:03:56,350 --> 00:04:01,170 neturi daryti prielaidas jums remiantis dalykų jums nereikia tikrai. 86 00:04:01,170 --> 00:04:04,440 >> Taigi, kodėl jūs turėtumėte naudoti kolbą? 87 00:04:04,440 --> 00:04:08,230 Pranašumai yra, jis tiesiog tikrai pagrindines funkcijas 88 00:04:08,230 --> 00:04:09,420 pastatytas į jį, kad jums reikia. 89 00:04:09,420 --> 00:04:11,980 Taigi, jūs neturite jaudintis suprasti visa krūva daiktų 90 00:04:11,980 --> 00:04:13,175 kad jums nereikia tikrai reikia. 91 00:04:13,175 --> 00:04:15,060 Jūs neturite jaudintis apie išjungdami funkcijas 92 00:04:15,060 --> 00:04:16,620 kad jums nereikia tikrai reikia. 93 00:04:16,620 --> 00:04:21,082 >> Ir, kaip jau minėjau, tai super lengva pridėti plėtinius dalykų 94 00:04:21,082 --> 00:04:21,790 kad jums reikia. 95 00:04:21,790 --> 00:04:24,700 Kai kurie iš jų, kolba turi savo paramą. 96 00:04:24,700 --> 00:04:28,230 Taigi kažkas vadinamas kolba Administratorius, kuris atspindi tą admin 97 00:04:28,230 --> 00:04:32,060 panelė, kad Django suteikia, kuri suteikia jums gražus vizualinis būdas 98 00:04:32,060 --> 00:04:33,405 administruoti savo svetainę. 99 00:04:33,405 --> 00:04:35,280 Bet vėl, jei esate priėmimo kažkas paprasta, 100 00:04:35,280 --> 00:04:39,550 Jums tikriausiai nereikia didelių admin panelė, todėl manau, kad super gražus. 101 00:04:39,550 --> 00:04:45,940 Ir trūkumai, kad jūs turite mažiau energijos out of the box. 102 00:04:45,940 --> 00:04:49,660 Taigi, kai jūs pirmą kartą atverti kolbą, ir jūsų Python programa, 103 00:04:49,660 --> 00:04:53,150 Jums tiesiog įveskite nuo kolbą importas *, ar kas, 104 00:04:53,150 --> 00:04:55,957 Jums nereikia tiksliai gauti visus funkcijos galbūt norėsite. 105 00:04:55,957 --> 00:04:58,540 Ir taip, jūs turite daugiau aiškiai sąrašą funkcijų norite. 106 00:04:58,540 --> 00:05:01,990 Štai vienas trūkumas, bet aš manau, kad statyti nedidelį internete 107 00:05:01,990 --> 00:05:04,782 programos, kaip aš ruošiuosi būti rodomas Jūs, tai tikrai ne problema. 108 00:05:04,782 --> 00:05:07,281 Ir kas paskutinis dalykas yra turėtų pasakyti, kuris yra klaidos, 109 00:05:07,281 --> 00:05:10,240 tai, kad yra mažiau standartizuotas konvencijos dėl kaip naudotis kolbą, 110 00:05:10,240 --> 00:05:12,400 tik todėl, kad nėra tiek daug žmonės, kurie naudoja jį profesionaliai 111 00:05:12,400 --> 00:05:13,191 palyginti su Django. 112 00:05:13,191 --> 00:05:16,380 Taigi, jei jums atrodo kažką panašaus, "Kaip aš galiu padaryti X" Django, 113 00:05:16,380 --> 00:05:18,190 jums tikriausiai jį rasti. 114 00:05:18,190 --> 00:05:20,260 >> Yra geras dizainas modeliai, kuriuos galite naudoti, 115 00:05:20,260 --> 00:05:22,660 bet su kolbą, tai rūšiuoti eiti savo keliu, 116 00:05:22,660 --> 00:05:24,850 tik todėl, kad tai yra gana nedidelė biblioteka. 117 00:05:24,850 --> 00:05:27,100 Taigi tie yra trūkumų, tačiau aš manau, kad 118 00:05:27,100 --> 00:05:29,370 kad ji vis dar gera biblioteka naudoti. 119 00:05:29,370 --> 00:05:31,909 >> Taigi tegul tiesiog peršokti į dešinę kolbą. 120 00:05:31,909 --> 00:05:34,200 Tai tikrai nesiruošia būti baigtas pamoka, 121 00:05:34,200 --> 00:05:37,480 bet tai suteikti jums idėja kaip struktūruoti dalykus, 122 00:05:37,480 --> 00:05:40,790 ir todėl jums jaustis patogiai vyksta išjungti ir žiūri į dokumentus 123 00:05:40,790 --> 00:05:42,570 ir daugiau sužinoti. 124 00:05:42,570 --> 00:05:48,500 >> Taigi, leiskite man atverti tikrai paprastas pavyzdys, pirmiausia, 125 00:05:48,500 --> 00:05:50,737 ir parodyti jums, kas tai atrodo, ir tada mes 126 00:05:50,737 --> 00:05:52,070 ją padalyti šiek tiek daugiau. 127 00:05:52,070 --> 00:05:56,160 >> Taigi, tai čia, leiskite man gauti jį veikia. 128 00:05:56,160 --> 00:06:06,800 129 00:06:06,800 --> 00:06:09,750 Taigi, dabar aš turiu mano prašymas veikia. 130 00:06:09,750 --> 00:06:15,910 Aš ruošiuosi atverti Safari ir jis veikia ant mano vietos adresas. 131 00:06:15,910 --> 00:06:19,360 Taigi, aš tik ketina padaryti tai didesni. 132 00:06:19,360 --> 00:06:23,960 Bet localhost: 5000 133 00:06:23,960 --> 00:06:27,650 >> Ir taip, dabar, visa tai daro yra, kai Jūs lankotės svetainėje, 134 00:06:27,650 --> 00:06:31,490 jis išspausdina "Labas kolbą," kuris yra ne super naudinga, 135 00:06:31,490 --> 00:06:34,630 bet aš manau, kad tai kietas, kad šioje mažoje failą čia 136 00:06:34,630 --> 00:06:37,390 mes turime interneto serverio, kuriame veikia kad spausdina kažką. 137 00:06:37,390 --> 00:06:40,500 Taigi, galime iš tikrųjų atrodo ne už antrą kodo, 138 00:06:40,500 --> 00:06:43,080 ir ją padalyti truputį. 139 00:06:43,080 --> 00:06:45,260 Ar dydis geras visiems čia? 140 00:06:45,260 --> 00:06:51,560 >> Taigi, tikiuosi, jūs esate šiek tiek patogiai naudojant Python. 141 00:06:51,560 --> 00:06:55,820 Aš darant prielaidą, kad mes galime pažvelgti į Python ir skaityti per ją. 142 00:06:55,820 --> 00:06:59,290 Jei turite kokių nors klausimų apie nieko, aš taip pat galite eiti per tai. 143 00:06:59,290 --> 00:07:03,974 >> Taigi pirmoji eilutė yra iš kolbą, mes importuojame, kolba su kapitalo "F" 144 00:07:03,974 --> 00:07:06,140 kuris yra rūšiuoti visi Pagrindinės funkcijos, kad jums reikia. 145 00:07:06,140 --> 00:07:08,890 Kai rašote failą ir naudojant kolbą, 146 00:07:08,890 --> 00:07:12,120 jūs ketinate norite importuoti, kad tik todėl, kad turi visus pagrindinius dalykus. 147 00:07:12,120 --> 00:07:15,400 Kitas dalykas, mes darome, yra mūsų skambinti Ši funkcija kolbą, tiesiog 148 00:07:15,400 --> 00:07:19,270 sukurti app objektą, ir jūs visada norės tai padaryti. 149 00:07:19,270 --> 00:07:25,960 >> Ir tada, šokinėja žemyn į dugnas greitai, ši dalis čia yra, 150 00:07:25,960 --> 00:07:28,760 "if_name _ ==" _ main_ "", kuri yra rūšiuoti Python'o konvencijos. 151 00:07:28,760 --> 00:07:32,750 Taigi tai atliks tik tada, jei paleisti šį failą tiesiogiai, naudojant Python. 152 00:07:32,750 --> 00:07:36,040 Tada mes vadiname app.run, kuris bus iš tikrųjų pradėti app vyksta. 153 00:07:36,040 --> 00:07:39,570 >> Taigi, tai pagrindinė struktūra, jūs turite bet Flask taikymo, 154 00:07:39,570 --> 00:07:48,550 yra turėsite tai App = kolba (_NAME_), tada app.run. 155 00:07:48,550 --> 00:07:54,940 >> Taigi, du dalykai, kad turiu čia yra tai, ką mes vadiname maršrutus. 156 00:07:54,940 --> 00:07:57,150 Taigi, pakalbėkime apie maršruto šiek tiek daugiau. 157 00:07:57,150 --> 00:07:58,430 Aš eisiu atgal į skaidrę. 158 00:07:58,430 --> 00:08:02,540 >> Taigi svarbiausias sąvoka kolba maršruto. 159 00:08:02,540 --> 00:08:06,750 Ir tai idėja, kad jums priskirti funkcijas Python 160 00:08:06,750 --> 00:08:11,280 konkrečias adresų Jūsų interneto puslapyje. 161 00:08:11,280 --> 00:08:13,930 Taigi, jei norite sukurti naują maršrutą, 162 00:08:13,930 --> 00:08:16,500 Jums naudoti šį @ app.route funkcija dekoratorius. 163 00:08:16,500 --> 00:08:19,770 Taigi, jei esate susipažinę su funkcija dekoratoriai Python, 164 00:08:19,770 --> 00:08:24,160 tai tik koncepcija, kuri leidžia jums imtis funkciją 165 00:08:24,160 --> 00:08:26,800 ir aplink jį su kažkuo kitu. 166 00:08:26,800 --> 00:08:30,140 >> Taigi tikrai, ką šis dekoratorius daro, yra tai, kad ji užima funkciją žemiau jo, 167 00:08:30,140 --> 00:08:33,409 ir tai prideda daugiau informacijos jai, bet kas iš tiesų kolba 168 00:08:33,409 --> 00:08:37,480 tikrai daro, kad taip atsitiktų nėra super svarbus, tačiau, kas yra svarbu, 169 00:08:37,480 --> 00:08:43,640 yra tai, kad prieš maršrutu, galite įdėti šią @ app.route, tada 170 00:08:43,640 --> 00:08:46,480 Maršruto adresas todėl velniop tai, ką mes 171 00:08:46,480 --> 00:08:48,360 mačiau, kai mes tiesiog atverti tinklalapį. 172 00:08:48,360 --> 00:08:49,580 Taigi, kad pagrindiniame puslapyje. 173 00:08:49,580 --> 00:08:51,037 Tai tiesiog velniop maršrutas. 174 00:08:51,037 --> 00:08:52,370 Ir tada jūs turite šią funkciją. 175 00:08:52,370 --> 00:08:54,453 Iš pavadinimas funkcijų gali būti, ką norite. 176 00:08:54,453 --> 00:08:56,930 Ji neturi būtinai daryti su maršrute. 177 00:08:56,930 --> 00:08:59,440 Ir tada, nepriklausomai nuo Funkcija grąža, 178 00:08:59,440 --> 00:09:01,730 funkcija turi grąžinti eilutę. 179 00:09:01,730 --> 00:09:03,740 Ir tai eilutė gali yra HTML arba nieko, 180 00:09:03,740 --> 00:09:06,920 ir tai yra iš tikrųjų, kas gaus grįžo į savo naršykles, kaip HTML, 181 00:09:06,920 --> 00:09:08,200 ir jis teiks, kad. 182 00:09:08,200 --> 00:09:12,030 >> Taigi, tai yra tas pats kodas tai buvo iš Pavyzdžiui 183 00:09:12,030 --> 00:09:16,430 kad aš tiesiog pritrūko, todėl, kai mes aplankyti velniop, jis vadina Sveiki Pasaulio funkciją, kuri 184 00:09:16,430 --> 00:09:20,470 tiesiog grąžina eilutę, Sveiki kolbą, ir, kad gauna spausdinami ant ekrano. 185 00:09:20,470 --> 00:09:27,290 >> Taigi dar vienas pavyzdys, kuris yra, kai Jūs lankotės / Sveiki, 186 00:09:27,290 --> 00:09:30,370 jis spausdina Hello žodį, kuris turėtų iš tikrųjų pasakyti, Hello World, 187 00:09:30,370 --> 00:09:32,010 bet tegul apsimesti, kad buvo tyčinis. 188 00:09:32,010 --> 00:09:35,140 Taigi leiskite traukti, kad iki realaus greitai. 189 00:09:35,140 --> 00:09:41,290 >> Taigi, jei jūs einate į localhost / Sveiki, dabar jis bus atspausdinti ką nors kita. 190 00:09:41,290 --> 00:09:45,680 Taigi tai tik greitas pavyzdys, kaip galite sukurti du skirtingus kelius. 191 00:09:45,680 --> 00:09:50,630 >> Taigi, tiek, kiek tai yra ne super naudinga, yra ne visai daug galite padaryti, 192 00:09:50,630 --> 00:09:55,360 galima tiesiog padaryti viską, kad su turi skirtingus HTML puslapius, 193 00:09:55,360 --> 00:09:58,000 ir kai apsilankote tam tikras puslapis tai tiesiog įkelia puslapį. 194 00:09:58,000 --> 00:10:00,864 Taigi pažiūrėkime, kai daugiau naudingų dalykų, kuriuos galite padaryti. 195 00:10:00,864 --> 00:10:03,780 Taigi, vienas dalykas, kad jums gali tekti pastebėjau pavyzdyje kad aš iškedentas 196 00:10:03,780 --> 00:10:07,160 iki, yra tai, kad aš app.run (debug = true). 197 00:10:07,160 --> 00:10:09,580 Ir taip, kas tai debug argumentas daro, yra 198 00:10:09,580 --> 00:10:14,600 kad, kai jūs paleisti savo interneto serverį, kai esate savo prašymą, 199 00:10:14,600 --> 00:10:18,100 jei pakeisite failo, ji bus automatiškai perkraukite serverį. 200 00:10:18,100 --> 00:10:21,160 >> Ir todėl jūs neturite iš tikrųjų turi restartas Python, kuris yra super naudingas. 201 00:10:21,160 --> 00:10:24,020 Galiu parodyti, kad. 202 00:10:24,020 --> 00:10:26,960 Leiskite atsigriebti savo kodą su jame rašybos, 203 00:10:26,960 --> 00:10:30,420 ir apsimesti, kad klaidos buvo įdėti ten apgalvotai pamokantis tikslais. 204 00:10:30,420 --> 00:10:31,625 Taigi leiskite pridėti šį nugarą. 205 00:10:31,625 --> 00:10:33,140 Taigi, dabar ji sako Hello World ". 206 00:10:33,140 --> 00:10:34,410 Aš išsaugokite jį. 207 00:10:34,410 --> 00:10:36,540 Ir jei mes traukti atgal į viršų terminalas, jums 208 00:10:36,540 --> 00:10:39,520 pasakyti, kad jis iš naujo, nes jis aptiko kaita, 209 00:10:39,520 --> 00:10:43,620 ir todėl dabar, kai mes iš naujo įkelkite šį puslapį, ji bus išspausdinti teisingą dalyką. 210 00:10:43,620 --> 00:10:45,630 >> Taigi derinti yra super naudinga, kad. 211 00:10:45,630 --> 00:10:48,740 Taip pat, jei turite kokių nors rūšiuoti avariją, todėl 212 00:10:48,740 --> 00:10:54,370 leiskite man padaryti šį prašymą avariją turėdami tai negrįžta eilutę. 213 00:10:54,370 --> 00:10:57,540 Taigi, leiskite tiesiog turite jį grįžti Nieko kažkodėl. 214 00:10:57,540 --> 00:11:00,810 Ir tada, kai grįžtu tai puslapis, tai bus tik katastrofos, 215 00:11:00,810 --> 00:11:04,465 bet serveris ne tik avarijos, ją faktiškai suteikia jums super naudingos atgal 216 00:11:04,465 --> 00:11:06,490 pėdsakas viską, kad negerai. 217 00:11:06,490 --> 00:11:10,050 Ir kas tikrai gražus, yra tai, kad bet kuriuo metu šio nugaros pėdsakų žingsnio, 218 00:11:10,050 --> 00:11:14,260 jums gali atverti interaktyvus Mokėti čia, ir tarsi atsispausdinti, ką 219 00:11:14,260 --> 00:11:17,780 kintamieji norite pažvelgti. 220 00:11:17,780 --> 00:11:21,054 >> Ir taip derinimo tikrai naudinga suprasti, 221 00:11:21,054 --> 00:11:23,470 kas vyksta su jūsų serveris, o ne tik pamatyti 222 00:11:23,470 --> 00:11:28,201 kažkas PHP kaip 500 vidaus serverio klaida, kuri yra super nenaudingas. 223 00:11:28,201 --> 00:11:30,700 Vienas dalykas žinoti, yra kad jei jūs įtraukėte savo programą internete 224 00:11:30,700 --> 00:11:34,260 todėl matomi visuomenei, jums niekada nori palikti derinimo režimą, 225 00:11:34,260 --> 00:11:37,320 nes žmonės gali realiai naudoti šią konsolę, kad aš 226 00:11:37,320 --> 00:11:39,150 parodė jums vykdyti pasirinktą kodą. 227 00:11:39,150 --> 00:11:42,120 >> Taigi jie gali atsispausdinti kaip ir bet kuris slapti kodai turite ten, 228 00:11:42,120 --> 00:11:44,755 jie gali pažvelgti, kaip jūsų svetainė veikia. 229 00:11:44,755 --> 00:11:46,630 Taigi, tai tikrai naudinga testavimui, bet visada 230 00:11:46,630 --> 00:11:50,090 įsitikinkite, kad imtis jį prieš publikuoti ką nors internete. 231 00:11:50,090 --> 00:11:56,640 >> Taigi, kai jūs naudojate kažką kaip PHP, ten ši idėja 232 00:11:56,640 --> 00:11:58,920 kad galite pereiti informacija tarp tinklalapių 233 00:11:58,920 --> 00:12:03,620 išleidimą informaciją tikrųjų URL, kuris yra GET prašymas, 234 00:12:03,620 --> 00:12:07,490 bet kolbą, jūs iš tikrųjų galite padaryti kažką tarsi panašaus, 235 00:12:07,490 --> 00:12:10,590 turėdami maršrutą, kuris turi kintamasis kaip jo dalis. 236 00:12:10,590 --> 00:12:14,090 >> Taigi, jei jums pažvelgti į tai pavyzdys ekrane čia 237 00:12:14,090 --> 00:12:19,930 turime maršrutą, kad yra ('/ Hello / "), ir taip, jei lankotės 238 00:12:19,930 --> 00:12:23,790 / Hello / kažkas, kad kažkas ketina faktiškai gauti įdaryti 239 00:12:23,790 --> 00:12:25,490 į vardo kintamasis. 240 00:12:25,490 --> 00:12:27,850 Ir pastebėti, kad funkcija kuris ateina su šio maršruto 241 00:12:27,850 --> 00:12:31,302 turi atsižvelgti į parametro pavadinimą, kad jis bus iš tikrųjų 242 00:12:31,302 --> 00:12:32,510 gauti išlaikė į funkciją. 243 00:12:32,510 --> 00:12:34,190 >> Ir tada, kai jūs viduje tą funkciją, 244 00:12:34,190 --> 00:12:36,420 galite elgtis, kad kaip normalus Python kintamasis, 245 00:12:36,420 --> 00:12:39,650 ir taip, tada, ji bus spausdinti Sveiki, ir jis 246 00:12:39,650 --> 00:12:42,000 bus užpildyti pavadinimo, naudojant kai styginių formatavimas. 247 00:12:42,000 --> 00:12:48,060 >> Taigi, norint pridėti kintamą dalių frezavimo, jūs naudojate skliaustų ženklu. 248 00:12:48,060 --> 00:12:51,220 Ir pasirinktinai, galite naudoti tai, kas vadinama konverteris. 249 00:12:51,220 --> 00:12:56,840 Ir taip, jei jūs įtraukėte tai Anotacija su dvitaškiu, 250 00:12:56,840 --> 00:13:00,015 galite nustatyti, kad jis int arba plūdės, arba kelias, 251 00:13:00,015 --> 00:13:01,640 ir ji bus automatiškai konvertuoti, kad. 252 00:13:01,640 --> 00:13:05,130 Jūs taip pat gali tai padaryti konversiją per Python funkcija, 253 00:13:05,130 --> 00:13:09,710 tik naudojant mesti, bet kartais, jei Jūs norite įsitikinti, kad tai int, 254 00:13:09,710 --> 00:13:12,080 galite įdėti, kad perskaičiavimo taisyklė ten. 255 00:13:12,080 --> 00:13:15,930 >> Taigi leiskite atsigriebti pavyzdį Kai kurių kintamųjų taisykles. 256 00:13:15,930 --> 00:13:21,480 Taigi čia, tai turi tą pačią pagrindinę konstrukcija su nuo Flask importo 257 00:13:21,480 --> 00:13:25,030 Gertuvės, app = kolbą (_NAME_) ir tada jis veikia pabaigoje. 258 00:13:25,030 --> 00:13:28,050 Mes turime šias dvi skirtingas kintamos maršrutai čia. 259 00:13:28,050 --> 00:13:29,900 Ir pirmasis, yra vienas, kad aš parodžiau 260 00:13:29,900 --> 00:13:34,230 skaidrių, kuris buvo, kad jis tiesiog trunka styginių pavadinimas 261 00:13:34,230 --> 00:13:35,650 ir jis bus išspausdinti Sveiki, vardą. 262 00:13:35,650 --> 00:13:41,410 >> Ir tada, antrasis vienas naudoja konversiją. 263 00:13:41,410 --> 00:13:44,690 Taigi, tai bus automatiškai konvertuoti jį į int, tada dvigubai int, 264 00:13:44,690 --> 00:13:46,150 ir spausdinti, kad iš. 265 00:13:46,150 --> 00:13:48,220 Ir mes nedarome jokios rūšies atsivertimo joje 266 00:13:48,220 --> 00:13:49,594 nes kolba rūpinasi, kad. 267 00:13:49,594 --> 00:13:53,181 Taigi galime gauti šioje bėgiojimą. 268 00:13:53,181 --> 00:13:54,930 Jei turite kolbą taikymas veikia, 269 00:13:54,930 --> 00:13:58,440 Jūs galite kontroliuoti-C iš jo sustabdyti serverį, kuriame veikia. 270 00:13:58,440 --> 00:14:02,420 Ir tada aš bėgsiu kintamuosius. 271 00:14:02,420 --> 00:14:11,740 >> Taigi eikime į localhost / Hello / Ezra ir Tikimės, kad tai bus pasakyti labas man. 272 00:14:11,740 --> 00:14:14,530 273 00:14:14,530 --> 00:14:20,310 >> Taigi jis paėmė mano vardu, pagal kintamąjį rodiklį maršrutas, ir jis užpildytas jį čia. 274 00:14:20,310 --> 00:14:23,950 Taigi aš taip pat rodo, greitas pavyzdys dvigubai. 275 00:14:23,950 --> 00:14:28,600 Taigi, jei jūs einate į / double / 3, ji bus išspausdinti 6. 276 00:14:28,600 --> 00:14:31,440 Taigi, šis rūpinosi už mus konversijos. 277 00:14:31,440 --> 00:14:34,190 >> Taigi jūs taip pat gali tai padaryti su plūdė, ir kažkas ypatingo, 278 00:14:34,190 --> 00:14:37,530 jei jums reikia nurodyti kažką panašaus kelias, kuris leidžia jį priimti slešų 279 00:14:37,530 --> 00:14:39,155 bet paprastai nėra problema. 280 00:14:39,155 --> 00:14:41,480 281 00:14:41,480 --> 00:14:43,820 Iki šiol mes vis dar turime tik buvo grąžinti 282 00:14:43,820 --> 00:14:46,320 įsipareigojimų, kurie nėra labai įdomūs. 283 00:14:46,320 --> 00:14:48,730 >> Mes iš tikrųjų gali grįžti pažodinis HTML eilutė. 284 00:14:48,730 --> 00:14:54,322 Taigi kodas galime įterpti kažką kaip B-žymė, kad ji drąsus, 285 00:14:54,322 --> 00:14:56,030 bet dauguma to laiko, kai ne iš tikrųjų nori 286 00:14:56,030 --> 00:14:58,420 būti raštu HTML kodą Jūsų Python kodą. 287 00:14:58,420 --> 00:15:01,940 Tai bus tikrai nepatogus, ir tai nėra geras laikas. 288 00:15:01,940 --> 00:15:06,430 >> Gertuvės leidžia mums atskirti out HTML į tai, kas vadinama Šablonas, 289 00:15:06,430 --> 00:15:09,467 ir todėl, jei jūs galvojate kalbant apie MVC modelį 290 00:15:09,467 --> 00:15:11,550 kad esate susipažinę su, Tikimės, kad iš darbo 291 00:15:11,550 --> 00:15:15,520 su CS50 Finansų šiek tiek, Jūs galite galvoti apie Python'o failai 292 00:15:15,520 --> 00:15:19,430 kaip daugiau kontrolieriaus, kur jie bendrauja su kokia 293 00:15:19,430 --> 00:15:20,970 duomenų modelis jums gali turėti. 294 00:15:20,970 --> 00:15:24,900 >> Ir tada jie skambina dėmesį į Peržiūrų ir pakeleivingi informaciją šiai Peržiūrėti 295 00:15:24,900 --> 00:15:28,120 užpildyti informacijos HTML, kad ji turi. 296 00:15:28,120 --> 00:15:30,490 Ir ką mes vadiname tuos Peržiūrėjo yra šablonai klasėje. 297 00:15:30,490 --> 00:15:35,280 >> Taigi kolba naudoja kitą Python modulis, kuris jis bus automatiškai 298 00:15:35,280 --> 00:15:38,620 įdiegti kai PIP įdiegti Gertuvės vadinamas Jinja, kuris 299 00:15:38,620 --> 00:15:40,885 leidžia jums pridėti tai anotacijos į HTML 300 00:15:40,885 --> 00:15:45,140 kad jūs matote ekrane, kuris leidžia jūs įtraukėte į tokius dalykus kaip sąlyginių, 301 00:15:45,140 --> 00:15:47,230 ir kilpos į HTML. 302 00:15:47,230 --> 00:15:51,140 >> Taigi atrodo šiek tiek panašus, kaip jūs gali naudoti PHP per HTML failą, 303 00:15:51,140 --> 00:15:57,380 tačiau tai yra tik tada, kai kolbos serveris aptarnauja HTML failą, 304 00:15:57,380 --> 00:16:01,610 jis bus rodomas šį šablonų variklį ir išanalizuoti per tai ir užpildyti dalykų. 305 00:16:01,610 --> 00:16:06,650 Taigi kolba turi render_template funkciją kad jūs galite pamatyti apačioje čia. 306 00:16:06,650 --> 00:16:14,300 Ir todėl, kai jūs lankotės šį puslapį, ją taptų šį hello.html šabloną, 307 00:16:14,300 --> 00:16:16,407 ir tada užpildyti šią HTML puslapyje. 308 00:16:16,407 --> 00:16:18,990 Taigi tegul tiesiog paleisti šią realus greitai, ir pamatyti, kaip jis atrodo, 309 00:16:18,990 --> 00:16:21,198 ir tada aš eiti per šiek tiek išsamiau. 310 00:16:21,198 --> 00:16:25,380 311 00:16:25,380 --> 00:16:30,260 Taigi, jūsų Šablonai vyksta eiti į Templates aplanką. 312 00:16:30,260 --> 00:16:33,980 Jis bus automatiškai ieškoti per Šablonai už tą šabloną. 313 00:16:33,980 --> 00:16:35,615 Taigi leiskite atidaryti tai padaryti. 314 00:16:35,615 --> 00:16:47,350 315 00:16:47,350 --> 00:16:50,005 Taigi, aš paleisti šablonų pavyzdys. 316 00:16:50,005 --> 00:16:52,820 317 00:16:52,820 --> 00:17:03,660 >> Taigi, jei aš einu į / Hello / Ezra, ji turi tai siaubinga, 318 00:17:03,660 --> 00:17:05,930 nemalonus markę žymė, kad aš įdėti. 319 00:17:05,930 --> 00:17:08,050 Labai gražus, labai dinamiška. 320 00:17:08,050 --> 00:17:09,349 Aš esu didelis gerbėjas. 321 00:17:09,349 --> 00:17:13,900 Bet kas atsitinka, jei Aš tiesiog eiti, / labas? 322 00:17:13,900 --> 00:17:15,220 Taigi jis tiesiog sako Hello World ". 323 00:17:15,220 --> 00:17:17,678 Aš nepriėmė jai pavadinimą, o Jis pripildė jį automatiškai. 324 00:17:17,678 --> 00:17:22,050 Taigi pažiūrėkime, kaip jis padarė, kad ir kaip mes galime atsikratyti, kad marquee gal. 325 00:17:22,050 --> 00:17:26,240 >> Taigi čia, tai yra rūšiuoti įdomi pavyzdys, 326 00:17:26,240 --> 00:17:29,101 jei esate susipažinę su, kaip jungiklis pareiškimai dirbti kalba. 327 00:17:29,101 --> 00:17:31,350 Pasakykite tai tarsi kaip, kad kritimo per rūšiuoti, 328 00:17:31,350 --> 00:17:34,266 kur jūs iš tikrųjų dviem pridedamais skirtingi maršrutai į tą pačią funkciją. 329 00:17:34,266 --> 00:17:41,190 Taigi, mes pridėti "/" Hello maršrutą ir Raktas / Hello / vardas maršrutas Sveiki, 330 00:17:41,190 --> 00:17:45,130 ir mes nurodome using-- Python leidžia jums nurodyti numatytąjį funkcija arguments-- 331 00:17:45,130 --> 00:17:48,300 taip, jei nėra vardas, todėl jei mes einame tiesiog / Sveiki, 332 00:17:48,300 --> 00:17:50,680 ji bus automatiškai filtruoti pavadinimą yra lygus Nėra. 333 00:17:50,680 --> 00:17:55,010 >> Taigi, mes sugadintos Šablonas su name = vardas, 334 00:17:55,010 --> 00:17:59,510 todėl bus pereiti į parametrą vardas lygus šio vardas funkcijos parametras, 335 00:17:59,510 --> 00:18:00,730 į šabloną. 336 00:18:00,730 --> 00:18:04,040 Tai vis dar nepaaiškina, kaip yra Sprendžiant, ar spausdinti Hello World, 337 00:18:04,040 --> 00:18:05,100 arba spausdinti mano vardą. 338 00:18:05,100 --> 00:18:08,050 Tad iš tikrųjų atrodo į patį šabloną, 339 00:18:08,050 --> 00:18:11,610 ir pamatyti, kur tai yra iš. 340 00:18:11,610 --> 00:18:18,680 >> Taigi, per šį šabloną, mes iš tikrųjų turi tam tikrą sąlyginį logiką, 341 00:18:18,680 --> 00:18:20,580 kurį kai kurie žmonės teigia, jūs iš tikrųjų 342 00:18:20,580 --> 00:18:23,730 neturėtų turėti sąlyga daug logika pačiame savo šabloną. 343 00:18:23,730 --> 00:18:26,310 Ji turėtų būti daugiau per Valdiklis, bet šiame pavyzdyje 344 00:18:26,310 --> 00:18:27,476 tai kažkas gana mažas. 345 00:18:27,476 --> 00:18:31,060 Taigi čia mes tikriname, jei vardas, todėl jei pavadinimas yra ne lygūs, nė 346 00:18:31,060 --> 00:18:33,130 jei pavadinimas yra iš tikrųjų praėjo, tada mes 347 00:18:33,130 --> 00:18:36,210 pasakyti Sveiki, pavadinimą su antraštės ir palapinė, 348 00:18:36,210 --> 00:18:41,490 visa tai normalus HTML, priešingu atveju, mes spausdinti Hello, World tiesiog normaliai. 349 00:18:41,490 --> 00:18:45,820 Taigi pora dalykų, kuriuos pastebėsite čia apie tai, kaip galite formatuoti šablonų sistema, 350 00:18:45,820 --> 00:18:49,110 yra tai, kad, visi šie sąlyginiai teiginiai, 351 00:18:49,110 --> 00:18:54,475 tarsi tai, kaip mes jį, kai PHP norite įterpti šiek tiek PHP, 352 00:18:54,475 --> 00:18:58,380 Jūs naudojate mažiau nei klausimo ženklas, tai tarsi analogiška čia 353 00:18:58,380 --> 00:19:00,140 su {%. 354 00:19:00,140 --> 00:19:02,130 >> Taigi čia mes turime sąlyginį kodą. 355 00:19:02,130 --> 00:19:05,920 Ir tada, kai jūs iš tikrųjų norite tiesiog įvertinti kažką, ir spausdinti 356 00:19:05,920 --> 00:19:08,710 jį į ekraną, galite naudoti dvigubus skliaustus. 357 00:19:08,710 --> 00:19:12,310 Taigi čia yra dviviečiai petnešos, ir tada mes nurodyti vardą, 358 00:19:12,310 --> 00:19:15,500 taip, kad per, ji bus įvertinti kintamojo pavadinimu, kuris 359 00:19:15,500 --> 00:19:18,860 buvo priimtas iš suteikti šablono funkciją, 360 00:19:18,860 --> 00:19:21,484 o ne tik spausdinti su sąlyga, jei mes atsikratė jų 361 00:19:21,484 --> 00:19:23,150 tai tiesiog atsispausdinti žodį "Pavadinimas". 362 00:19:23,150 --> 00:19:26,340 Taigi, kad kažkas saugotis. 363 00:19:26,340 --> 00:19:29,792 >> Taigi dar vienas dalykas, pranešimas yra tai, kad, kai mes 364 00:19:29,792 --> 00:19:31,500 norite naudoti render_template funkcija, 365 00:19:31,500 --> 00:19:34,490 mes iš tikrųjų turime importuoti tai aiškiai iš kolbą. 366 00:19:34,490 --> 00:19:36,915 Ir šis yra pavyzdys Kolbos modalumas, 367 00:19:36,915 --> 00:19:39,290 kad jūs neturite importuoti dalykų, kad jums nereikia. 368 00:19:39,290 --> 00:19:41,290 Jūs galite tiesiog atnešti į funkcijos, jūs iš tikrųjų 369 00:19:41,290 --> 00:19:43,450 do reikia, kuris yra kartais gražus, taigi jums nereikės 370 00:19:43,450 --> 00:19:46,560 turėti visas šias funkcijas sėdi aplink, kad jūs nenaudojate, 371 00:19:46,560 --> 00:19:49,730 bet taip pat, jei pamiršti, kad jums reikia importuoti render_template, 372 00:19:49,730 --> 00:19:52,660 jūs tikriausiai gauti įspėjimą kuri leis jums žinoti apie tai. 373 00:19:52,660 --> 00:19:56,700 Taigi, kad yra struktūravimo. 374 00:19:56,700 --> 00:20:01,680 >> Taigi, mes parodyta, kaip padaryti paprasta tinklalapius, 375 00:20:01,680 --> 00:20:04,947 ir pridėti šiek tiek daugiau logikos tai, kalbant apie kintamojo maršrutą. 376 00:20:04,947 --> 00:20:08,280 Tai leidžia jums padaryti skirtingus dalykus remiantis ką URL eiti, taip pat tada, suteikti 377 00:20:08,280 --> 00:20:11,950 HTML šiek tiek daugiau prasmės sąlygos, kaip jūs norite padaryti dalykus. 378 00:20:11,950 --> 00:20:14,210 Jūs neturite įdėti visus HTML į savo Python, 379 00:20:14,210 --> 00:20:16,640 bet gana daug kiekvienas interneto paraišką, 380 00:20:16,640 --> 00:20:21,480 jūs ketinate nori kažkokios duomenų modelį, susijęs su juo. 381 00:20:21,480 --> 00:20:25,560 >> Ir taip tradiciškai, tai kažkas panašaus į SQL duomenų bazę. 382 00:20:25,560 --> 00:20:30,280 Ir jūs galite tiesiog bendrauti tiesiogiai su SQL. 383 00:20:30,280 --> 00:20:32,190 Python yra, manau, ji vadinama. 384 00:20:32,190 --> 00:20:33,040 SQLite 3. 385 00:20:33,040 --> 00:20:38,454 Jūs galite tiesiog importuoti SQLite 3 vykdyti SQL užklausas tiesiogiai 386 00:20:38,454 --> 00:20:40,870 bet aš nežinau apie jus, bet aš tikrai nepatinka, tiesiog, 387 00:20:40,870 --> 00:20:42,750 raštu iš SQL užklausas. 388 00:20:42,750 --> 00:20:45,350 Ji linkusi gauti tikrai ilgas ir sudėtingas. 389 00:20:45,350 --> 00:20:49,180 >> Ir taip, kažkas, kad Man patinka naudoti yra kas 390 00:20:49,180 --> 00:20:53,610 žinomas kaip ORM, kuris yra Objektinis relacyjne. 391 00:20:53,610 --> 00:20:56,890 Ir tos taškas Objektinis relacyjne, 392 00:20:56,890 --> 00:21:00,100 tai, kad yra dvi skirtingos, būdų, galite galvoti apie duomenų bazes. 393 00:21:00,100 --> 00:21:03,240 >> Taigi pateiktame pavyzdyje kad Profesorius Malan paprastai 394 00:21:03,240 --> 00:21:07,660 naudoja klasėje, yra "Excel" lentelė, kurioje jūs turite šiuos eilutes ir stulpelius šiuos, 395 00:21:07,660 --> 00:21:10,210 ir tai tikrai naudinga kaip ji yra atstovaujama SQL 396 00:21:10,210 --> 00:21:13,170 ir kaip jums bendrauti su juo, bet kitas būdas, kad jis iš tikrųjų 397 00:21:13,170 --> 00:21:16,390 naudinga galvoti apie tai kartais, yra pagal klases ir objektus. 398 00:21:16,390 --> 00:21:20,420 >> Taigi vietoj mąstymo Kiekvienos lentelės kaip turintys 399 00:21:20,420 --> 00:21:23,040 Ši eilutė, kuri turi tam tikras informacija, jūs iš tikrųjų galite 400 00:21:23,040 --> 00:21:26,100 galvoti apie tai, kaip Kiekviena lentelė yra klasės, 401 00:21:26,100 --> 00:21:29,810 ir tada kiekvienas egzempliorius klasė turi tam tikras savybes. 402 00:21:29,810 --> 00:21:35,110 Taigi, šiame pavyzdyje, egzempliorių klasė yra Lentelės eilutės, 403 00:21:35,110 --> 00:21:37,490 ir tada kiekvienas butu būti lentelėje stulpelis. 404 00:21:37,490 --> 00:21:40,840 >> Taigi, ORM, kad man patinka naudoti vadinama Peewee. 405 00:21:40,840 --> 00:21:43,520 Tai tikrai mažas, tarsi kolbą. 406 00:21:43,520 --> 00:21:46,760 Manau, kad jie eiti gerai kartu, tačiau yra daug kitų ORMS daug 407 00:21:46,760 --> 00:21:47,730 kad jūs galite naudoti. 408 00:21:47,730 --> 00:21:52,180 Daugiau populiarus vienas yra žinomas kaip sqlalchemy, 409 00:21:52,180 --> 00:21:56,050 ir aš negaliu prisiminti, kodėl aš iš pradžių pasirinko Peewee per sqlalchemy, 410 00:21:56,050 --> 00:21:58,311 ar aš norėčiau jums pasakyti, kodėl aš manau, kad tai geriausias, 411 00:21:58,311 --> 00:22:01,060 bet mes tik ketina naudoti šią vienas, nes žinau, kaip jį naudoti. 412 00:22:01,060 --> 00:22:04,760 >> Taigi, vienas klausimas, kodėl jūs turėtumėte nerimauti naudojant ORM, 413 00:22:04,760 --> 00:22:07,552 o ne tik tiesiogiai rašyti SQL užklausas? 414 00:22:07,552 --> 00:22:09,760 Ir aš manau, geriausiu atveju, yra ta, kad jūs neturite iš tikrųjų 415 00:22:09,760 --> 00:22:11,356 turi rašyti SQL užklausas. 416 00:22:11,356 --> 00:22:14,480 Tai daug lengviau, nes aš jums parodysiu, į daryti tokius dalykus kaip atrankos, įterpimo, 417 00:22:14,480 --> 00:22:16,157 išbraukta, ypač kuriant lenteles. 418 00:22:16,157 --> 00:22:17,990 Tai daug lengviau parašyti klasės struktūrą, 419 00:22:17,990 --> 00:22:22,250 nei ji yra susisteminti Sukurti Stalo pareiškimas, bet vienas dalykas, 420 00:22:22,250 --> 00:22:25,710 žinoti, yra tai, kad ORM bandys jos geriausiai 421 00:22:25,710 --> 00:22:28,640 išsiaiškinti, kas labiausiai efektyvus SQL užklausos būtų, 422 00:22:28,640 --> 00:22:30,110 bet kartais tai gauna tai negerai. 423 00:22:30,110 --> 00:22:32,660 >> Ir ypač jei esate dirbti su didele duomenų bazės, 424 00:22:32,660 --> 00:22:35,557 galite pastebėti, kad užklausos kad turėtų būti paleistas greitai, 425 00:22:35,557 --> 00:22:36,640 iš tikrųjų trunka ilgiau. 426 00:22:36,640 --> 00:22:40,164 Ir jei jums atrodo po kapotu, kaip ORM aiškina, kad į SQL, 427 00:22:40,164 --> 00:22:42,080 jis gali būti darai kažką tikrai juokinga, 428 00:22:42,080 --> 00:22:44,371 Tiesiog todėl, kad tarsi judesių jūsų ketinimai negerai. 429 00:22:44,371 --> 00:22:48,080 Ir ten buvo laikas, kai Turėjau jį pakeisti, ir tik 430 00:22:48,080 --> 00:22:52,429 vykdyti savo pačių SQL užklausas, tiesiog nes jis buvo apdorojant keistu būdu. 431 00:22:52,429 --> 00:22:54,220 Taigi, yra keletas važtaraščius, tik tokiu būdu 432 00:22:54,220 --> 00:22:58,680 kad ji kaupia savo ataskaitos žemyn į SQL. 433 00:22:58,680 --> 00:23:06,200 >> Taigi, pažiūrėkime super greitai ne paprastas pavyzdys duomenų modelio 434 00:23:06,200 --> 00:23:07,350 kad galite naudoti. 435 00:23:07,350 --> 00:23:11,880 Taigi, tai yra Python kodas, ir taip Pirmas dalykas, kurį norite padaryti, tai iš 436 00:23:11,880 --> 00:23:12,950 Peewee importas *. 437 00:23:12,950 --> 00:23:15,850 Taigi, skirtingai kolbą, kur jūs turite visi šie atskiri moduliai, 438 00:23:15,850 --> 00:23:18,125 ir norite importuoti kolbą ir rašyti šabloną, ir kai kurie kiti 439 00:23:18,125 --> 00:23:20,690 kad matysime vėliau, nuo Peewee, galite tiesiog importuoti viską, 440 00:23:20,690 --> 00:23:22,290 nes tai gana nedidelė biblioteka. 441 00:23:22,290 --> 00:23:26,490 >> Taigi, pirmas dalykas, kurį norite padaryti, tai iš tikrųjų sukurti šią duomenų bazę objektą. 442 00:23:26,490 --> 00:23:31,212 Taigi, jūs turite db = SqliteDatabase, ir tada savo duomenų bazės pavadinimą. 443 00:23:31,212 --> 00:23:33,170 Ir tai tikrai bus sukurti duomenų bazės objektą 444 00:23:33,170 --> 00:23:36,230 kad jūs galite bendrauti su, su Peewee. 445 00:23:36,230 --> 00:23:40,570 >> Ir tada, mes turime tikrasis modelis, kad mes norime sukurti. 446 00:23:40,570 --> 00:23:42,470 Taigi lentelė norime sukurti. 447 00:23:42,470 --> 00:23:47,270 Taigi, per Peewee, kiekviena klasė turi savo stalo per savo duomenų bazę. 448 00:23:47,270 --> 00:23:52,800 Taigi, visi klasių paveldėti iš bazinio modelio, 449 00:23:52,800 --> 00:23:55,960 ir kapitalo M modelis kažkas, kas apibrėžta Peewee. 450 00:23:55,960 --> 00:24:02,162 >> Taigi, visi jūsų modeliai turėtų paveldės jų aukščiausiu superclass, 451 00:24:02,162 --> 00:24:04,620 jie turėtų paveldėti iš modelis, bet kas tikrai cool, 452 00:24:04,620 --> 00:24:07,610 yra ta, kad jūs iš tikrųjų galite turėti savo modeliai paveldi vienas iš kito. 453 00:24:07,610 --> 00:24:10,530 Ir daug laiko, jūsų duomenų modeliai nebūtinai 454 00:24:10,530 --> 00:24:13,754 padaryti gražus paveldėjimo hierarchija, tačiau laikas, kai jie tai padarys, tai tikrai gražus, 455 00:24:13,754 --> 00:24:15,920 nes jūs turite modelį neatskiriamas nuo kito. 456 00:24:15,920 --> 00:24:19,710 >> Taigi, mes apibrėžta šioje klasėje "studentas", kuris paveldi modelį, 457 00:24:19,710 --> 00:24:21,170 ir ji turi tris savybes. 458 00:24:21,170 --> 00:24:24,080 Ji turi ID, kuris yra PrimaryKeyField, kuris 459 00:24:24,080 --> 00:24:26,920 yra kažkas, kad yra teikiamas iki Peewee, vardas yra CharField, 460 00:24:26,920 --> 00:24:28,490 ir laipsnio yra IntegerField. 461 00:24:28,490 --> 00:24:32,260 Taigi, tai gali būti arba gali nebūti kaip CS50 tikrųjų kaupia visus 462 00:24:32,260 --> 00:24:33,650 studijuojančiųjų rūšių. 463 00:24:33,650 --> 00:24:36,060 Tai nėra, bet tai yra, kaip aš tai padaryti. 464 00:24:36,060 --> 00:24:37,920 >> Ir tada ji turi per ši klasė, ir tai 465 00:24:37,920 --> 00:24:41,620 yra kažkas, ką galima padaryti su Python, jūs galite turėti įdėtos klases. 466 00:24:41,620 --> 00:24:43,920 Ir tai yra kažkas, kad manimi reikalauja Peewee. 467 00:24:43,920 --> 00:24:47,250 Taigi, ši klasė meta, turite nurodyti, kad duomenų bazė yra 468 00:24:47,250 --> 00:24:49,830 lygus objekto kad mes sukūrėme virš. 469 00:24:49,830 --> 00:24:54,339 Ir tai sako, ką failas yra ši lentelė iš tikrųjų bus pateikiama. 470 00:24:54,339 --> 00:24:57,130 Taigi, tai yra kažkas, kad jūs turite padaryti per visus savo modelių. 471 00:24:57,130 --> 00:24:59,380 Jums tereikia nurodyti, per šį Meta klasės 472 00:24:59,380 --> 00:25:01,400 kad duomenų bazė yra lygus dB. 473 00:25:01,400 --> 00:25:03,940 Taigi, ką aš paprastai padaryti, jei aš turiu įvairių modelių krūva, 474 00:25:03,940 --> 00:25:05,910 yra tai, kad aš turiu vieną bazę modelis, aš paprastai 475 00:25:05,910 --> 00:25:08,839 tiesiog vadina "bazinis modelis" kad turi Meta klasę, 476 00:25:08,839 --> 00:25:10,380 ir jis nustato duomenų bazę, lygią dB. 477 00:25:10,380 --> 00:25:13,710 Ir tada visi mano vėlesnių modelių paveldės iš tos pagrindinės klasės. 478 00:25:13,710 --> 00:25:16,760 Ir tada aš neturiu nerimauti apie nustatant Meta klasę. 479 00:25:16,760 --> 00:25:21,490 >> Taigi, kai tai iš tiesų gauna parengė žemyn į SQL, 480 00:25:21,490 --> 00:25:24,875 atrodo, kad šį nemalonus dalykas žemyn čia "CREATE TABLE studentas ID sveikasis skaičius, 481 00:25:24,875 --> 00:25:26,020 "Nesvarbu. 482 00:25:26,020 --> 00:25:30,002 >> Ir, manau, kad jis yra trumpesnis, tai SQL užklausos čia, 483 00:25:30,002 --> 00:25:32,960 bet jei pažvelgti į šią klasę čia jūs galite pamatyti tiksliai, kas vyksta. 484 00:25:32,960 --> 00:25:36,116 Jūs galite pamatyti, kas rūšių srityse yra, ką jie vadinami, 485 00:25:36,116 --> 00:25:38,115 ir taip, manau, kad žiūri šį Python kodas 486 00:25:38,115 --> 00:25:43,340 yra daug aiškesnis nei bando parašyti šį SQL užklausa. 487 00:25:43,340 --> 00:25:45,990 >> Taigi, tam, kad iš tikrųjų naudoti duomenų bazę, 488 00:25:45,990 --> 00:25:48,470 mes turime prisijungti prie jo per Python. 489 00:25:48,470 --> 00:25:52,770 Taigi, aš paprastai parašyti funkciją, vadinamą initialize_db, kad daro du dalykus. 490 00:25:52,770 --> 00:25:54,880 Tai užtrunka duomenų bazėje objektas db ir jis 491 00:25:54,880 --> 00:25:58,360 prisijungia prie jo, kuri tiesiog atsidaro iki skyriuje į duomenų bazę. 492 00:25:58,360 --> 00:26:00,860 Jei jūs tik veikia, nors svetainė jūsų vietiniame kompiuteryje, 493 00:26:00,860 --> 00:26:04,320 tai ne super baisi jaudintis apie prisijungimo ir atsijungimo, 494 00:26:04,320 --> 00:26:06,885 bet jei dirbate jis apie svetainę, galite 495 00:26:06,885 --> 00:26:10,010 norite įsitikinti, kad, kai vartotojas prisijungia prie jo, kai jie uždaryti 496 00:26:10,010 --> 00:26:12,270 svetainė, jie atjungti taip, kad jūs neturiu žmonių, susijusių krūva 497 00:26:12,270 --> 00:26:14,480 į savo duomenų bazę visus iš karto. 498 00:26:14,480 --> 00:26:16,370 >> Ir tada, kai jūs prisijungti prie duomenų bazės, 499 00:26:16,370 --> 00:26:20,832 norite skambinti db.create_tables, ir išvardinti modeliai, ko norite 500 00:26:20,832 --> 00:26:21,540 kurti lenteles. 501 00:26:21,540 --> 00:26:23,950 Taigi čia, aš tik noriu ją sukurti šiam studentui. 502 00:26:23,950 --> 00:26:28,070 Ir tada, kas svarbu, yra nurodyti saugų = true labiausiai laiką. 503 00:26:28,070 --> 00:26:30,380 Taigi, ką šis pareiškimas bus padaryti, yra tai, kad 504 00:26:30,380 --> 00:26:33,580 sukuria lenteles studentas modelis, bet tik 505 00:26:33,580 --> 00:26:36,109 jei ši lentelė neturi buvo sukurta jau. 506 00:26:36,109 --> 00:26:37,400 Štai ką saugios patikslinama. 507 00:26:37,400 --> 00:26:39,150 Taigi jis nebus perrašyti Jūsų esamą lentelę, 508 00:26:39,150 --> 00:26:41,525 tai bus tik sukurti naują stalo, jei yra ne vienas ten. 509 00:26:41,525 --> 00:26:45,090 Taigi, galite tiesiog sukurti lentelės kartą naudojate SQL. 510 00:26:45,090 --> 00:26:49,410 Ir tada turi tą duomenų bazę posėdį ten, ir tada prisijungti prie kiekvieną kartą, 511 00:26:49,410 --> 00:26:52,450 bet tai paprastai gražus tik įdėti į šį create_tables skambučio, 512 00:26:52,450 --> 00:26:55,550 taip, kad, jei jūs kada nors trinti savo duomenų bazė, kai paleidžiate savo interneto 513 00:26:55,550 --> 00:26:57,960 App vėl, ji bus atkurti jį. 514 00:26:57,960 --> 00:27:00,730 >> Taigi, tiesiog įsitikinkite, kad saugūs yra nurodyta, kad gali būti tiesa, 515 00:27:00,730 --> 00:27:03,580 ar jums surasti jūsų duomenis tik gauti clobbered kiekvieną kartą. 516 00:27:03,580 --> 00:27:06,380 Ir tada, jūs tiesiog galite skambinti initialize_db nustatyti 517 00:27:06,380 --> 00:27:09,820 ryšį ir sukurti stalai, jei reikia. 518 00:27:09,820 --> 00:27:13,150 >> Taigi, labiausiai paplitęs dalykas kad jūs norite daryti, 519 00:27:13,150 --> 00:27:15,920 arba vienas iš labiausiai paplitusių dalykų, yra iš tikrųjų įdėkite dalykus 520 00:27:15,920 --> 00:27:17,170 į savo duomenų bazę. 521 00:27:17,170 --> 00:27:19,430 Ir taip, o ne rašyti įterpti į 522 00:27:19,430 --> 00:27:21,990 pareiškimas su visais nurodytų verčių, 523 00:27:21,990 --> 00:27:24,650 jūs iš tikrųjų galite skambinti funkcija studentų klasėje. 524 00:27:24,650 --> 00:27:28,200 Taigi, kai jūs sukuriate klasę kad paveldi iš modelio, 525 00:27:28,200 --> 00:27:30,200 ji turi tai sukurti metodą. 526 00:27:30,200 --> 00:27:33,870 >> Taigi, jūs padaryti klasės name.create, ir jūs nurodote parametrus 527 00:27:33,870 --> 00:27:35,260 kad norite pereiti į. 528 00:27:35,260 --> 00:27:39,200 Taigi, jei aš noriu pridėti šiek tiek studentams mūsų CS50 laipsnio knyga pavyzdžiui, 529 00:27:39,200 --> 00:27:41,820 Aš įdėti Dovydo, kuris turi labai geras kokybės, jis turi 95. 530 00:27:41,820 --> 00:27:45,100 Ir aš, kas yra ne daro taip gerai CS50, turiu 50. 531 00:27:45,100 --> 00:27:47,600 Ir taip, Gražus dalykas, apie ką tai sukurti funkcija daro, 532 00:27:47,600 --> 00:27:53,040 tai, kad ji grąžina atvejį, arba eilutė, kad ji sukurta lentelės viduje, 533 00:27:53,040 --> 00:27:55,750 ir taip, tada jums laikyti, kad A kintamasis, ir dirbti su juo vėliau. 534 00:27:55,750 --> 00:27:58,830 Jūs galite pakeisti aplink, kuri Aš rodo pavyzdys. 535 00:27:58,830 --> 00:28:03,050 >> Atkreipkite dėmesį, kad aš ne turi nurodyti adresą, 536 00:28:03,050 --> 00:28:09,340 nes, nes ji yra PrimaryKeyField, jis automatiškai 537 00:28:09,340 --> 00:28:10,930 prieaugio, jei nenurodysite ją. 538 00:28:10,930 --> 00:28:12,250 Ir, tiesą sakant, jūs tikriausiai neturėtų nurodyti ją, 539 00:28:12,250 --> 00:28:14,810 nes galite netyčia Bylų kažkieno ID. 540 00:28:14,810 --> 00:28:16,830 Ir jūs norite įsitikinti, įsitikinkite, kad jis yra unikalus. 541 00:28:16,830 --> 00:28:20,662 >> Taigi, iš tikrųjų, labiausiai dažnas dalykas, kurį norite padaryti, 542 00:28:20,662 --> 00:28:22,620 tikriausiai pasirinkti iš Duomenų bazės, kai jūs 543 00:28:22,620 --> 00:28:24,078 turėti daug informacijos ten. 544 00:28:24,078 --> 00:28:27,360 Ir taip, jei norite gauti viską, taigi pasirinkite žvaigždė lygiavertį 545 00:28:27,360 --> 00:28:30,940 iš studentų pareiškimą, ją būtų tiesiog student.select. 546 00:28:30,940 --> 00:28:34,380 Ir kad duos jums atgal masyvą su visais studento objektai jame 547 00:28:34,380 --> 00:28:35,770 kad jūs pakartoti per norite. 548 00:28:35,770 --> 00:28:37,019 Jūs galite gauti dalykų iš jo. 549 00:28:37,019 --> 00:28:39,310 Ir dauguma laiko, jums ne tik nori daryti pasirinkite, 550 00:28:39,310 --> 00:28:40,935 jūs iš tikrųjų norite nurodyti kažką. 551 00:28:40,935 --> 00:28:44,580 Ir taip, jūs galite grandinės Kartu šie funkciniai ragina 552 00:28:44,580 --> 00:28:48,830 pavyzdžiui, kaip tai darytumėte grandinės kartu su SQL sakiniais. 553 00:28:48,830 --> 00:28:53,002 Taigi jūs galite padaryti student.select (). Kur Šiame pavyzdyje. 554 00:28:53,002 --> 00:28:54,710 Ir tada, jūs galite nurodyti sąlygas, 555 00:28:54,710 --> 00:28:57,880 tik naudojant įprastą Python Loginę patikrinti dalykus. 556 00:28:57,880 --> 00:29:02,110 >> Taigi, šiuo atveju, jūs norite apriboti, ką jūs pasirinkdami kad, 557 00:29:02,110 --> 00:29:06,790 kur student.grade yra lygus 50, ir student.name yra lygus Ezra, 558 00:29:06,790 --> 00:29:09,130 taip, kad tiesiog mane iš jo. 559 00:29:09,130 --> 00:29:11,340 Ir pastebėsite, iš tikrųjų subtilus dalykas čia yra 560 00:29:11,340 --> 00:29:15,570 , kad jei norite nurodyti ir / arba ir / arba, arba, 561 00:29:15,570 --> 00:29:19,840 Python, jūs paprastai naudoti, Manau, kad žodis "ir" iš tikrųjų, 562 00:29:19,840 --> 00:29:23,351 bet čia jūs naudojate bendrą ampersendo, kurie paprastai yra Bitinis operatorius, 563 00:29:23,351 --> 00:29:25,600 tačiau šiuo konkrečiu atveju, tik būdas Peewee daro, 564 00:29:25,600 --> 00:29:27,660 Jūs naudojate vieną Ženklas nurodyti "ir". 565 00:29:27,660 --> 00:29:29,451 Štai kažkas, kad Aš įsipainioti daug, 566 00:29:29,451 --> 00:29:32,530 bet ji ne sugalvoti kad daug praktikoje. 567 00:29:32,530 --> 00:29:36,350 >> Ir tada, kai jūs turite visus kad iš duomenų bazės studentų, 568 00:29:36,350 --> 00:29:39,420 Kai tai padarysite, jūs pasirinkite ir jūsų drabužiai ar kas, 569 00:29:39,420 --> 00:29:42,334 galite naudoti foreach ciklą, kaip normalus Python, 570 00:29:42,334 --> 00:29:44,500 su bet iteratoriaus rūšiuoti arba su bet masyvas rūšiuoti. 571 00:29:44,500 --> 00:29:46,333 Taigi jūs galite padaryti, už s į student.select (). whe 572 00:29:46,333 --> 00:29:52,930 Re (Student.grade <75), ir taip tai bus kartoti per kiekvieną lentelėje studentas 573 00:29:52,930 --> 00:29:56,260 kurio laipsnio yra mažesnis nei 75, kuris šiuo atveju, yra dar tik man. 574 00:29:56,260 --> 00:29:59,218 Ir tada jūs galite padaryti kažką per kad kilpa, kaip siųsti man laišką 575 00:29:59,218 --> 00:30:01,680 ir pasakyk man, iš tikrųjų kreiptis į mano problema rinkinių. 576 00:30:01,680 --> 00:30:04,550 >> Taigi, dar vienas dalykas, jūs galite padaryti, tai tikrai lengva 577 00:30:04,550 --> 00:30:06,460 atnaujinti eilučių viduje lentelėje. 578 00:30:06,460 --> 00:30:08,720 Taigi, nepamirškite grįžti čia, Jūsų kai aš įdėta, 579 00:30:08,720 --> 00:30:11,440 Aš paėmė vertę, kuri buvo grąžinti student.create, 580 00:30:11,440 --> 00:30:14,920 ir aš priskirti jį praminė Ezra. 581 00:30:14,920 --> 00:30:18,995 Ir todėl dabar, galite pakeisti vertės toje Pavyzdžiui, 582 00:30:18,995 --> 00:30:20,870 kaip jūs darytumėte normalus klasė Python. 583 00:30:20,870 --> 00:30:25,060 >> Taigi galite nustatyti ezra.grade = 95 ir kad bus atnaujinti vietinį kopiją, 584 00:30:25,060 --> 00:30:28,380 bet jei jūs iš tikrųjų norite įsipareigoti, kad pokyčiai į duomenų bazę, 585 00:30:28,380 --> 00:30:31,410 jūs turite skambinti ezra.save, todėl jūs vadinamas .save metodas 586 00:30:31,410 --> 00:30:32,650 ant pavyzdžiui. 587 00:30:32,650 --> 00:30:38,085 >> Ir todėl dabar, aš sėkmingai pakeistas mano paties laipsnio per duomenų bazę. 588 00:30:38,085 --> 00:30:41,210 Taigi, tada tarkim, kad aš pagaus keisti savo klasę per duomenų bazę. 589 00:30:41,210 --> 00:30:44,126 Profesorius Malan tikriausiai vyksta nori ištrinti mane iš klasės, 590 00:30:44,126 --> 00:30:48,630 ir todėl jūs galite skambinti į .delete instancija metodas tik tą dalyką. 591 00:30:48,630 --> 00:30:51,674 >> Taigi, jei jūs norėjo eiti Atgal į šią kilpą čia 592 00:30:51,674 --> 00:30:53,465 ir iš tikrųjų, o ne siųsti laiškus visas 593 00:30:53,465 --> 00:30:56,577 studentų, kurių kategorija yra mažiau nei 75, jūs norėjote juos pašalinti, 594 00:30:56,577 --> 00:30:58,660 per šį kilpa galėtumėte skambinti s.delete instancija. 595 00:30:58,660 --> 00:31:04,180 596 00:31:04,180 --> 00:31:07,780 Ir paskutinis dalykas, kurį norite padaryti, yra kai jums užmegzti ryšį, 597 00:31:07,780 --> 00:31:10,350 ir baigsite su jūsų darbu, norite skambinti db.close, 598 00:31:10,350 --> 00:31:13,190 kur db yra tai, kad duomenų bazė nesutikti, kad mes turėjome anksčiau. 599 00:31:13,190 --> 00:31:18,290 Ir jūs norite įsitikinti, kad viskas užsidaro iš. 600 00:31:18,290 --> 00:31:18,790 >> Saunus. 601 00:31:18,790 --> 00:31:22,410 Taigi dabar turiu pavyzdį paraišką. 602 00:31:22,410 --> 00:31:26,880 Aš tarsi iš anksto padarė viską, ką tik taip, kad nebus bet gyva kodavimo 603 00:31:26,880 --> 00:31:30,220 klaidų, tačiau mes galime vaikščioti per IT ir pamatyti, kaip jūs įdėti kolbą 604 00:31:30,220 --> 00:31:33,685 ir Peewee kartu, ir padaryti paprastą programą. 605 00:31:33,685 --> 00:31:38,680 Aš tai vadinu CS50 Rant, ir tai Rūšiuoti paprastą dienoraštį platforma. 606 00:31:38,680 --> 00:31:41,150 >> Taigi, pirma, aš ją ir parodyti, kaip jis atrodo, 607 00:31:41,150 --> 00:31:42,890 ir tada mes galime žiūrėti daugiau į kodą. 608 00:31:42,890 --> 00:32:00,470 609 00:32:00,470 --> 00:32:02,830 Gerai, kad tegul tiesiog paleisti tai. 610 00:32:02,830 --> 00:32:14,040 611 00:32:14,040 --> 00:32:17,250 Šaunu, aš padaryti šį šiek tiek mažesnis. 612 00:32:17,250 --> 00:32:20,000 Tai nėra labai gražus, tik todėl, kad Aš nepadarė CSS daug, 613 00:32:20,000 --> 00:32:23,255 bet ką ji daro, ji turi Šis dienoraščio duomenų, 614 00:32:23,255 --> 00:32:25,630 ir jis eina per visus juos, ir jis bus rodomas juos 615 00:32:25,630 --> 00:32:28,170 ant tam naujausiais puslapyje. 616 00:32:28,170 --> 00:32:30,920 Ir taip tai tik keletas pranešimų kad aš išsaugomi duomenų bazėje. 617 00:32:30,920 --> 00:32:35,680 >> Taigi, jei norime sukurti naujas paštu, mes galime eiti į Įdėti naują skelbimą, 618 00:32:35,680 --> 00:32:42,720 ir mes galime įvesti pavadinimą paštu, todėl kažkas panašaus, CS50 seminaras. 619 00:32:42,720 --> 00:32:45,360 620 00:32:45,360 --> 00:32:46,735 Oho, tikrai patinka seminarą. 621 00:32:46,735 --> 00:32:51,070 622 00:32:51,070 --> 00:32:52,270 >> Saunus. 623 00:32:52,270 --> 00:32:56,060 Tada paspaudžiate postą, ir ji bus nukreipti jus atgal į pagrindinį puslapį, 624 00:32:56,060 --> 00:33:00,039 ir tada pamatysite, kad vėliau įrašas buvo pridėta. 625 00:33:00,039 --> 00:33:01,580 Ir mes vis dar turime visas ten tie. 626 00:33:01,580 --> 00:33:08,080 Taigi dabar, tegul žingsnis per visus pamatyti, kaip tai įgyvendinama kodas ir. 627 00:33:08,080 --> 00:33:11,995 >> Taigi, manau, kad pirmas dalykas, kad tegul pažvelgti, iš tikrųjų modeliai išvaizdą. 628 00:33:11,995 --> 00:33:14,120 A daug laiko, kai Jūs kuriate kažką, 629 00:33:14,120 --> 00:33:17,036 norite galvoti pirmiausia apie tai, kaip jūs ketinate atstovauti savo duomenis, 630 00:33:17,036 --> 00:33:22,915 ir tada sukurti dalykų aplink, kad taip, kad viskas turi prasmę. 631 00:33:22,915 --> 00:33:25,290 Ir tai yra iš tikrųjų, kaip aš tai padarė, kai aš buvo padaryti tai, 632 00:33:25,290 --> 00:33:28,030 Atsisėdau ir maniau, Ką aš noriu į postą. 633 00:33:28,030 --> 00:33:32,130 >> Taigi, čia, mes turi tą pačią struktūrą kad man buvo paminėti anksčiau, 634 00:33:32,130 --> 00:33:33,755 kur mes db = Sqldatabase (posts.db). 635 00:33:33,755 --> 00:33:37,840 636 00:33:37,840 --> 00:33:40,980 Iš tikrųjų, jūs tikriausiai nenorite kietojo kodą savo vardą duomenų bazėse. 637 00:33:40,980 --> 00:33:43,730 Tai tikriausiai turėtų būti parametras kad manimi kažkur, gal 638 00:33:43,730 --> 00:33:45,940 į config failą, bet mažas pavyzdys, kaip tai, 639 00:33:45,940 --> 00:33:48,310 tai gerai, kad kietajame kodas, kad. 640 00:33:48,310 --> 00:33:53,510 >> Taigi dabar mes turime šį Rašyti klasę, kuris paveldi iš bazės modelis. 641 00:33:53,510 --> 00:33:56,930 Ir ji turi, dar kartą, ID = PrimaryKeyField. 642 00:33:56,930 --> 00:34:02,250 Tiesą sakant, jei nenurodysite, jei aš iš tikrųjų atsikratė tai, 643 00:34:02,250 --> 00:34:07,152 tada Peewee mes pasirūpinsime automatiškai sukurti, kad ID lauką, 644 00:34:07,152 --> 00:34:09,360 ir jis bus automatiškai padaryti jį PrimaryKey, kuris 645 00:34:09,360 --> 00:34:12,485 Manau, tai tikrai gražus, nes paprastai, tai ką jūs norite turėti, 646 00:34:12,485 --> 00:34:16,239 bet man patinka įdėti ją į konkrečiau, tiesiog taip aš prisimenu, kad jis yra ten. 647 00:34:16,239 --> 00:34:19,480 Bet jei jums nereikia nurodyti, kad, kad ten bus automatiškai. 648 00:34:19,480 --> 00:34:22,198 >> Taigi, turiu datą, kuri yra DateTimeField, ir visi 649 00:34:22,198 --> 00:34:24,864 Šie skirtingų sričių, jeigu jūs pažvelgti į Peewee dokumentus, 650 00:34:24,864 --> 00:34:28,920 tai duosiu jums skirtingas sąrašą tipų srityse, kad jūs galite naudoti. 651 00:34:28,920 --> 00:34:34,440 Nes didžioji dalis, tai analogiškas ką galėtumėte pamatyti SQL. 652 00:34:34,440 --> 00:34:37,699 Taigi yra CharField A VarCharFields, textfields, 653 00:34:37,699 --> 00:34:40,550 kurios yra labai ilgai tekstai, kaip dienoraštyje 654 00:34:40,550 --> 00:34:44,460 potencialiai DateTimeFields, DoubleFields, FloatFields, 655 00:34:44,460 --> 00:34:46,100 viskas patinka. 656 00:34:46,100 --> 00:34:51,570 >> Ir jūs galite pereiti į kitų argumentų jai, kurį aš nenurodė čia. 657 00:34:51,570 --> 00:34:55,719 Pasakyk, pavyzdžiui, jūs nenorėjo leidžia du pranešimus, kad tą patį pavadinimą, 658 00:34:55,719 --> 00:34:59,672 galima nurodyti kažkas panašaus unikalus = Tiesa, 659 00:34:59,672 --> 00:35:02,880 ir tai tik papildomas parametras lauke, kad kai jis kaupia jį žemyn 660 00:35:02,880 --> 00:35:06,865 į SQL, ji bus nurodyti , kad ji turi būti unikalus. 661 00:35:06,865 --> 00:35:09,740 Jūs taip pat galite nurodyti kažką panašaus nėra niekinis ir visi kiti dalykai 662 00:35:09,740 --> 00:35:11,750 paprastai padaryti SQL. 663 00:35:11,750 --> 00:35:16,020 Taigi, tai yra gana paprasta modelis, kuris turi datą. 664 00:35:16,020 --> 00:35:19,460 Atkreipkite dėmesį, čia per DateTimeField, Aš nurodyta, kas pagal nutylėjimą yra. 665 00:35:19,460 --> 00:35:22,560 I nurodyta, kad ji būtų datetime.datetime.now, 666 00:35:22,560 --> 00:35:24,920 dėl to, kad taip, kad Tai pasireiškia vertinami, 667 00:35:24,920 --> 00:35:28,750 ji iš tikrųjų įvertina datetime.now kai 668 00:35:28,750 --> 00:35:32,110 ji pasireiškia įdėta į duomenų bazę. 669 00:35:32,110 --> 00:35:34,760 >> Manau, kad aš turiu patikrinkite tai, 670 00:35:34,760 --> 00:35:38,222 bet jei tu kažką panašaus į tai, tada ji iš tikrųjų būtų įvertinti, kad vieną kartą, 671 00:35:38,222 --> 00:35:40,180 ir tada datetime visada būtų ta pati. 672 00:35:40,180 --> 00:35:44,240 Taigi, tiesiog, jei jūs darote kažką su datetimes, patikrinkite 673 00:35:44,240 --> 00:35:47,080 kad ji vertinti, kai iš tikrųjų gauna įdėta, ar kitur 674 00:35:47,080 --> 00:35:48,780 jums gali būti supainioti. 675 00:35:48,780 --> 00:35:51,221 >> Pavadinimas yra tik CharField, kuris yra 676 00:35:51,221 --> 00:35:53,970 yra daugiau argumentų galite pereiti nustatant taisykles tiksliai, kaip ilgai jūs 677 00:35:53,970 --> 00:35:56,170 noriu, kad ji būtų, bet čia ji tikrai ne klausimas. 678 00:35:56,170 --> 00:35:58,687 Ir tekstas bus visos postą tekstas, 679 00:35:58,687 --> 00:36:01,020 ir kad ketina būti TextField tik todėl, kad norite 680 00:36:01,020 --> 00:36:03,370 kad ji galėtų būti gana ilgą eilutę. 681 00:36:03,370 --> 00:36:05,970 >> Tada mes turime šį Meta poklasis, kad tik 682 00:36:05,970 --> 00:36:11,250 nurodo, kad mes norime duomenų bazę jei tai yra iš tikrųjų atvėrė į 683 00:36:11,250 --> 00:36:14,267 būti DB objektą, kad mes turime čia. 684 00:36:14,267 --> 00:36:16,350 Ir paskutinis dalykas, kurį mes turime čia yra tik ši funkcija 685 00:36:16,350 --> 00:36:18,120 kad mes ketiname naudoti mūsų pagrindinis app 686 00:36:18,120 --> 00:36:23,970 inicijuoti duomenų bazę prisijungti prie ji, o tada, kad sukurti Pranešimo lentelę. 687 00:36:23,970 --> 00:36:26,880 >> Dabar pažvelkime į patį pagrindinį app. 688 00:36:26,880 --> 00:36:30,800 Taigi tai viena yra gana tiek ilgesnis negu tie, 689 00:36:30,800 --> 00:36:34,840 kad mes matėme anksčiau, bet tikiuosi ne per blogai. 690 00:36:34,840 --> 00:36:37,140 Taigi, leiskite man pratęsti this out. 691 00:36:37,140 --> 00:36:38,370 Gerai. 692 00:36:38,370 --> 00:36:42,070 >> Taigi, pastebėti ir viršutinis Aš importuoti visa krūva kitų dalykų 693 00:36:42,070 --> 00:36:44,129 nuo matavimo kolbą, mes turime ne tikrai matęs. 694 00:36:44,129 --> 00:36:46,670 Ir tikiuosi, mes galime eiti per kiekviena vienas iš šių vienas po kito 695 00:36:46,670 --> 00:36:49,420 ir kalbėti šiek tiek daugiau apie juos, surūšiuoti pagal pavyzdį. 696 00:36:49,420 --> 00:36:51,380 Taigi, mes turime į kolbą, ir render_template, 697 00:36:51,380 --> 00:36:54,370 kurį mes matėme anksčiau, šis prašymas objektas, 698 00:36:54,370 --> 00:37:00,400 kuris ateis, kai mes pažvelgti, kaip forma, kad aš rodžiau iš tikrųjų 699 00:37:00,400 --> 00:37:01,170 veikia. 700 00:37:01,170 --> 00:37:04,850 Nukreipimo, kuri leidžia jums nukreipti atgal nuo Sukurti naują Post 701 00:37:04,850 --> 00:37:11,710 atgal į originalią puslapį, ir tada URL, kuris yra kažkas, kad leidžia jums 702 00:37:11,710 --> 00:37:15,550 išsiaiškinti, kur dėl svetainė konkretus puslapis yra. 703 00:37:15,550 --> 00:37:17,810 >> Taip, tada, kitą dalykas, aš padaryti, tai aš importas 704 00:37:17,810 --> 00:37:21,550 visi iš modelių informacijos failai, mes buvome tik ieškote. 705 00:37:21,550 --> 00:37:23,140 Ir, taip. 706 00:37:23,140 --> 00:37:28,720 >> Taigi, kažkas naujo, kad ateina iki kada jūs susiduriame su, 707 00:37:28,720 --> 00:37:31,850 ypač duomenų bazių, yra, kad jūs galite nurodyti 708 00:37:31,850 --> 00:37:35,110 funkcija, kuri pasireiškia vadinamas prieš kiekvienas prašymas, ir funkcija, kuri gauna 709 00:37:35,110 --> 00:37:39,690 vadinamas po kiekvieno prašymu naudojant šią Funkcija Apdailininko app.before prašymas. 710 00:37:39,690 --> 00:37:42,324 >> Ir todėl tai bus gauti įvykdytas kur ši funkcija yra. 711 00:37:42,324 --> 00:37:44,240 Tai nebūtinai turi būti vadinamas prieš prašymu 712 00:37:44,240 --> 00:37:46,281 bet paprastai tai kažkas protinga jį vadiname. 713 00:37:46,281 --> 00:37:48,580 714 00:37:48,580 --> 00:37:51,650 Galite nurodyti nepriklausomai funkciją norite gauti ten vadinamas, 715 00:37:51,650 --> 00:37:56,330 todėl aš nurodyta šio initialize_db funkcija, kad mes turėjome grįžti modeliai 716 00:37:56,330 --> 00:38:02,390 failą, todėl prieš kiekvieną prašymą, jums norite prisijungti prie duomenų bazės. 717 00:38:02,390 --> 00:38:04,560 >> Yra du skirtingi būdų, kaip galite tai padaryti. 718 00:38:04,560 --> 00:38:10,830 Jūs galite tai padarytiapp., I manome, kad tai after_request. 719 00:38:10,830 --> 00:38:13,800 Ir skirtumas tarp after_request ir teardown_request, 720 00:38:13,800 --> 00:38:17,590 yra tai, kad after_request atsitiks tik tuomet, jei prašymas buvo faktiškai galioja. 721 00:38:17,590 --> 00:38:20,440 Ir taip, tik jei Prašymas buvo patenkintas, 722 00:38:20,440 --> 00:38:22,490 jei nieko blogo, bet teardown_request 723 00:38:22,490 --> 00:38:26,300 atsitinka dėl sėkmingas atveju prašymu arba dėl klaidos atveju. 724 00:38:26,300 --> 00:38:28,252 >> Taigi, paprastai, norite naudoti teardown_request, 725 00:38:28,252 --> 00:38:30,460 nebent jūs norite daryti kažkas, ypač skiriasi 726 00:38:30,460 --> 00:38:31,470 į klaidos atveju. 727 00:38:31,470 --> 00:38:35,122 Bet tik uždarant duomenų bazę, ar tai pavyks, arba jei tai nepavyksta, 728 00:38:35,122 --> 00:38:37,080 mes darome norite atjungti iš duomenų bazės. 729 00:38:37,080 --> 00:38:41,240 Taigi ji vadinama, db.close DB objektą. 730 00:38:41,240 --> 00:38:43,740 >> Atkreipkite dėmesį, kad teardown_request trunka išimtis. 731 00:38:43,740 --> 00:38:46,781 Taigi, galite patikrinti, ar iš tikrųjų buvo klaida, kai buvo uždaryti, 732 00:38:46,781 --> 00:38:49,390 bet čia, tikiuosi, ten yra ne visai daug klaidų, 733 00:38:49,390 --> 00:38:52,720 todėl mes tiesiog tarsi ignoruoja tai. 734 00:38:52,720 --> 00:38:55,990 >> Gerai, o likusios nėra labai blogai. 735 00:38:55,990 --> 00:39:02,240 Taigi, kai mes einame į pagrindinį puslapį, mes lydyti šį home.html šabloną 736 00:39:02,240 --> 00:39:03,490 kad bus atverti. 737 00:39:03,490 --> 00:39:06,240 Leidimas yra postą lygus ir kas tai 738 00:39:06,240 --> 00:39:10,260 daro, yra, nepamirškite, kad turime šį postą modelis, todėl pasirinkite visus pranešimus, 739 00:39:10,260 --> 00:39:13,890 ir tada kitas dalykas, kurį galite padaryti, Jūs galite nurodyti WHERE, 740 00:39:13,890 --> 00:39:16,910 Galite nurodyti mokėti su, ir taip mes 741 00:39:16,910 --> 00:39:18,820 visi pranešimų, kad gauti pasirinkta, tada 742 00:39:18,820 --> 00:39:22,590 mes juos užsisakyti, padarytais post.date.descending. 743 00:39:22,590 --> 00:39:25,030 Ir tai bus nurodyti, kai jie iš tikrųjų išeiti, 744 00:39:25,030 --> 00:39:29,250 naujausi vienas bus labai pirmasis. 745 00:39:29,250 --> 00:39:31,420 >> Ir tada, mes pereiname, kad į home.html šablonas, 746 00:39:31,420 --> 00:39:34,240 tad iš tikrųjų atverti Šis modelis tikrai greitai, 747 00:39:34,240 --> 00:39:36,760 ir pažiūrėtų į tai, kaip, kad manimi dirbti išvaizdą. 748 00:39:36,760 --> 00:39:42,130 Ir tai ne puikus HTML, bet tikiuosi, mes galime sutelkti dėmesį į Python. 749 00:39:42,130 --> 00:39:46,960 >> Taigi ten nuoroda į pridėti naują Pašto, ir todėl tai nurodo maršrutą 750 00:39:46,960 --> 00:39:51,580 per kolbą, kad mes nustatyti, kuris yra čia. 751 00:39:51,580 --> 00:39:56,310 Tai yra naujas pranešimas maršrutas, ir mes nurodome, kad čia. 752 00:39:56,310 --> 00:40:00,450 Ir taip, kad yra nuoroda, kad bus tada eiti tai per Flask serverio maršruto. 753 00:40:00,450 --> 00:40:03,820 >> Kuo daugiau įdomus dalykas tai už kilpos čia. 754 00:40:03,820 --> 00:40:07,685 Taigi mes nurodome, kad ši Pranešimo parametras, 755 00:40:07,685 --> 00:40:09,560 buvo priimtas į render_template funkcija, 756 00:40:09,560 --> 00:40:13,550 už kiekvieną postą Post objektas, gauna praėjo. 757 00:40:13,550 --> 00:40:16,600 Mes norime spausdinti post antraštinė dalis, H1, 758 00:40:16,600 --> 00:40:21,930 ir tada toliau, norime atspausdinti post tekstas per dalį. 759 00:40:21,930 --> 00:40:25,710 >> Ir čia mes galime iš tikrųjų skambinti Python funkciją, 760 00:40:25,710 --> 00:40:35,130 todėl mes galime skambinti strftime ST-RF-laikas, ir jūs galite pereiti į format string 761 00:40:35,130 --> 00:40:37,064 kad norite spausdinti duomenis iš visų. 762 00:40:37,064 --> 00:40:39,980 Taigi, tai yra gana malonu, kad jūs galite iš tikrųjų tai vadina Python funkcija 763 00:40:39,980 --> 00:40:41,090 nuo per čia. 764 00:40:41,090 --> 00:40:44,370 Jūs neturite daryti formatavimą nuo valdytojas pusėje, nes tikrai, 765 00:40:44,370 --> 00:40:47,770 formatavimo datą yra kažkas, kad norite elgtis per View. 766 00:40:47,770 --> 00:40:51,480 >> Ir visi šie proc dalykai yra ne itin svarbus. 767 00:40:51,480 --> 00:40:55,270 Jei jums surasti dokumentus už strftime funkcijos Python, 768 00:40:55,270 --> 00:40:57,040 jame nurodoma visa tai dalykai, bet tai 769 00:40:57,040 --> 00:40:59,190 kaip, kada mes ieškojome ne pagrindiniame puslapyje čia 770 00:40:59,190 --> 00:41:04,440 jis formatai tai su gražus data, ir ji nurodo AM arba PM, 771 00:41:04,440 --> 00:41:09,410 bet paprastai, jei mes neturėjo tai čia 772 00:41:09,410 --> 00:41:14,024 jums tikriausiai kažkiek šiukšlių data, neatrodė labai geras. 773 00:41:14,024 --> 00:41:15,940 Ir tada mes nurodėte post.text, ir aš galėjau 774 00:41:15,940 --> 00:41:19,460 uždėjau porą eilučių lūžius čia, tiesiog 775 00:41:19,460 --> 00:41:21,820 įdėti keletą erdvių tarp kiekvieno posto. 776 00:41:21,820 --> 00:41:26,270 >> Taigi, manau, kad svarbiausia dalykas šiame pavyzdyje, 777 00:41:26,270 --> 00:41:28,697 yra, kad jūs galite naudoti šį kilpa. 778 00:41:28,697 --> 00:41:30,780 Ir tai yra analogiški dalykų, kuriuos galite padaryti, PHP. 779 00:41:30,780 --> 00:41:32,905 Galite pakartoti per, viskas tampa praėjo, 780 00:41:32,905 --> 00:41:36,719 ir taip, vietoj to, kad padaryti kopijuoti / įklijuoti, kopijuoti / įklijuoti visą HTML, 781 00:41:36,719 --> 00:41:40,010 Jums tereikia parašyti vieną kartą, o tada galite pakartoti per visus postus. 782 00:41:40,010 --> 00:41:41,510 >> Ir tai yra kažkas, įprasta, kad norite 783 00:41:41,510 --> 00:41:44,510 daryti, kai turite daug duomenų, yra tai, kad už viską savo duomenis, 784 00:41:44,510 --> 00:41:48,370 norite padaryti panašų dalyką. 785 00:41:48,370 --> 00:41:51,690 Ir tada, tik nepamirškite, kad, kai jūs norite spausdinti kažką aiškiai 786 00:41:51,690 --> 00:41:54,780 į HTML, galite naudoti dvigubos petnešos čia, 787 00:41:54,780 --> 00:41:57,820 bet tada, kai norite nurodyti kai informacija apie būklės, 788 00:41:57,820 --> 00:42:02,430 arba maždaug už kilpos, jums naudoti procentų laikiklį. 789 00:42:02,430 --> 00:42:08,730 >> Taigi, grįžta į Python kodas, taip, kad paaiškina 790 00:42:08,730 --> 00:42:12,242 kas vyksta pagrindinis maršrutas, kai mes ten, 791 00:42:12,242 --> 00:42:14,450 jis tiesiog parodo visus pranešimų, bet tada klausimas 792 00:42:14,450 --> 00:42:17,440 yra, kaip mes iš tikrųjų gauti pranešimų į duomenų bazę, kuri 793 00:42:17,440 --> 00:42:18,970 yra šiek tiek įdomesnis. 794 00:42:18,970 --> 00:42:23,960 >> Taigi, kai jūs spustelėkite Naujas Pranešimo nurodo, kurį mes matėme čia 795 00:42:23,960 --> 00:42:26,000 jis nukreipia jus į šią formą. 796 00:42:26,000 --> 00:42:29,580 Ir tai tik paprastas skambutis į render_template funkcija, kuri vėliau 797 00:42:29,580 --> 00:42:32,110 eina į naują postą HTML formą. 798 00:42:32,110 --> 00:42:36,212 Taigi tegul Tuo išvaizdą. 799 00:42:36,212 --> 00:42:37,420 Taigi tai viena yra gana paprasta. 800 00:42:37,420 --> 00:42:45,110 Jis turi paprastą HTML formą, kuri atrodys šiek tiek pažįstamas, 801 00:42:45,110 --> 00:42:47,380 grindžiami CS50 Finansų formų. 802 00:42:47,380 --> 00:42:49,940 Ir taip, mes nurodome čia veiksmą. 803 00:42:49,940 --> 00:42:52,435 Ir čia, jei jūs dirbate su PHP, paprastai, ją 804 00:42:52,435 --> 00:42:55,930 būtų kažkas panašaus, create.PHP, bet čia 805 00:42:55,930 --> 00:42:59,960 mes iš tikrųjų nurodyti maršrutą per Flask serveryje. 806 00:42:59,960 --> 00:43:02,520 Ir taip, šis maršrutas Atitinka į sukurti maršruto 807 00:43:02,520 --> 00:43:05,680 kad mes turime čia, o mes eiti į per sekundę. 808 00:43:05,680 --> 00:43:07,630 >> Ir taip, mes nurodome, kad tai POST metodas, 809 00:43:07,630 --> 00:43:09,820 nes mes norime siųsti Ši forma duomenis ir paprastai 810 00:43:09,820 --> 00:43:12,945 kai jūs siunčiate duomenis iš formos, Jūs galbūt norėsite naudoti post prašymą, 811 00:43:12,945 --> 00:43:15,760 tik todėl jums nereikia baigti su šiuo didelis, griozdiškas URL. 812 00:43:15,760 --> 00:43:18,970 Bet jūs taip pat galėtų naudoti GET užklausos, ir perduoti jį su kintama maršruto, 813 00:43:18,970 --> 00:43:21,170 bet formomis, tai malonu į pareigas prašymą čia. 814 00:43:21,170 --> 00:43:24,620 Ir taip, tada, kaip jūs būtų padaryti su HTML ir PHP, 815 00:43:24,620 --> 00:43:28,420 Jūs galite nurodyti šiuos teksto įvestis, ir galite nurodyti jų pavadinimą, 816 00:43:28,420 --> 00:43:33,490 ir tai yra pavadinimas, kuris bus gauti išlaikė į prašymo objektu per kolbą. 817 00:43:33,490 --> 00:43:36,960 >> Ir tada mes turime Pateikti mygtuką, kad sako paštu. 818 00:43:36,960 --> 00:43:40,760 Ir čia, pašto yra pavadinimas mygtuką, nes jis dienoraštyje, 819 00:43:40,760 --> 00:43:42,700 bet čia įrašas yra prašymas metodas. 820 00:43:42,700 --> 00:43:47,060 Taigi, ir yra tas pats žodis bet iš tikrųjų nesusiję. 821 00:43:47,060 --> 00:43:48,460 Taip 822 00:43:48,460 --> 00:43:54,800 >> Grįžtant prie Python kodu kai mes vadinamas sukurti metodą, 823 00:43:54,800 --> 00:43:57,702 pastebėti, kad čia jūs galite iš tikrųjų nurodyti per maršruto 824 00:43:57,702 --> 00:44:00,650 ar prašymas metodai kad norite priimti, 825 00:44:00,650 --> 00:44:04,770 ir todėl čia, galiu nurodyti, kad aš tik norite priimti Rašyti metodą. 826 00:44:04,770 --> 00:44:09,800 Taigi, jei aš iš tikrųjų stengiamės aplankyti puslapį tiesiogiai, kuris yra naudojant GET užklausos, 827 00:44:09,800 --> 00:44:11,700 tai pasakyk man, "metodas neleidžiama." 828 00:44:11,700 --> 00:44:15,840 >> Ir taip, jūs turite puslapius, tarsi tai sukurti puslapį, kuriame aš tik 829 00:44:15,840 --> 00:44:20,192 tikrai, naudojant kaip būdu forma gauti pateikimo dienos, 830 00:44:20,192 --> 00:44:22,900 galite nurodyti, kad jūs neturite kitų žmonių, kad būtų galima ten 831 00:44:22,900 --> 00:44:25,650 tiesiogiai per GET užklausos, arba jei nenorėjo, 832 00:44:25,650 --> 00:44:28,580 dėl kokios nors priežasties, pašto prašymas, galima tiesiog nurodyti GET čia 833 00:44:28,580 --> 00:44:32,720 bet šiame pavyzdyje, mes tiesiog noriu Post prašymas išeiti. 834 00:44:32,720 --> 00:44:38,700 >> Taigi, kai create_post vadinamas, kai mes aplankyti, kad per Rašyti prašymą, 835 00:44:38,700 --> 00:44:43,600 kai jūs einate į ypač maršrutas, ten šis prašymas objektas, 836 00:44:43,600 --> 00:44:46,640 ir mes turėjome importuoti prašymai pačiame viršuje, 837 00:44:46,640 --> 00:44:49,640 bet ten šis prašymas objektas, gauna praėjo, 838 00:44:49,640 --> 00:44:53,210 ir jūs galite prieiti prie formos duomenis, kuris automatiškai gausite užpildyti 839 00:44:53,210 --> 00:44:55,070 kai jūs siunčiate iš formos prašymą. 840 00:44:55,070 --> 00:44:56,990 >> Ir tada, ką aš manau, yra tikrai cool, yra 841 00:44:56,990 --> 00:45:02,840 kad forma objektas gauti praėjo į, yra tik Python žodynas kad 842 00:45:02,840 --> 00:45:10,560 sudėtyje yra, jei access-- todėl čia, tegul man atsigriebti HTML šalia jo, tiesiog 843 00:45:10,560 --> 00:45:17,670 todėl jūs galite turėti, kad kaip nuoroda, taip, todėl 844 00:45:17,670 --> 00:45:21,060 pavadinimai, kad mes nurodome čia už skirtingose ​​srityse, todėl, 845 00:45:21,060 --> 00:45:23,900 pavadinimas ir tekstas, mes tada tiesiog naudokite vyresnių nei čia 846 00:45:23,900 --> 00:45:27,110 kaip indeksai į formą duomenis. 847 00:45:27,110 --> 00:45:28,950 Taigi, kad super patogu. 848 00:45:28,950 --> 00:45:33,320 >> Taigi mes vadiname post.create, kuris bus sukurti ir automatiškai įterpti 849 00:45:33,320 --> 00:45:36,850 Tai naujas pranešimas objektas į duomenų bazę. 850 00:45:36,850 --> 00:45:40,690 Ir aš manau, kad tai sukurti funkciją čia yra tikrai cool pavyzdys, kaip 851 00:45:40,690 --> 00:45:44,900 galingas kolba ir darbo su tuo, nes jei darome kažką 852 00:45:44,900 --> 00:45:48,660 PHP programavimo kalba, gali tekti padaryti daug įteisinimo, 853 00:45:48,660 --> 00:45:51,730 jums reikės tada sukurti duomenų bazę, 854 00:45:51,730 --> 00:45:55,210 jums reikės tada vykdyti SQL užklausa, 855 00:45:55,210 --> 00:45:59,550 bet čia mes tiesiog tai gražus post.create, kurioje mes galime tada tiesiog 856 00:45:59,550 --> 00:46:01,520 gauti informaciją iš prašymo objektas, 857 00:46:01,520 --> 00:46:05,370 ir perduoti jį į naują rašyti, kad mes sukurti. 858 00:46:05,370 --> 00:46:07,850 >> Ir tada, labai paskutinis dalykas, mes norime padaryti, 859 00:46:07,850 --> 00:46:09,630 yra nukreipti vartotojas atgal į namus. 860 00:46:09,630 --> 00:46:13,020 Ir taip mes naudojame šią Gertuvės nukreipti funkciją. 861 00:46:13,020 --> 00:46:17,770 Ir kažkas, kad mes nematė anksčiau, buvo šios URL funkcija. 862 00:46:17,770 --> 00:46:21,970 Taigi funkcijai URL leidžia Jūs pereiti į faktiškai pavadinimas 863 00:46:21,970 --> 00:46:26,090 iš savo Python kodo funkciją, o ne tikru maršrutu, 864 00:46:26,090 --> 00:46:26,720 kad tai ne. 865 00:46:26,720 --> 00:46:32,107 >> Taigi, aš gali turėti taip pat lengvai nukreipti vartotoją velniop, 866 00:46:32,107 --> 00:46:37,050 kuri būtų siųsti jį atgal namo, bet naudojant URL funkcija yra gražus, 867 00:46:37,050 --> 00:46:39,990 nes jei keisti Vieta, kur viskas yra, 868 00:46:39,990 --> 00:46:44,080 Tarkime, kad aš pakeisti namų turi būti ne / home vietoj to, 869 00:46:44,080 --> 00:46:47,040 tai dar tada grįžti / Namai nes iš tikrųjų eina ir atrodo iki 870 00:46:47,040 --> 00:46:50,770 iš funkcijos pavadinimas, ir ji duos jums atgal URL už tai. 871 00:46:50,770 --> 00:46:52,490 >> Taigi, tarsi ant prielaida, kad esate 872 00:46:52,490 --> 00:46:55,489 labiau tikėtina, kad pakeisti, kur viskas yra, negu funkcijų pavadinimus. 873 00:46:55,489 --> 00:46:58,840 Galite naudoti tai tikrai gražus URL funkcija. 874 00:46:58,840 --> 00:47:02,470 Ir vienas dalykas žinoti kad yra šiek tiek sudėtinga, 875 00:47:02,470 --> 00:47:05,750 yra, kad jūs manote, kad galėjote tik skambinti nukreipti dėl URL 876 00:47:05,750 --> 00:47:10,600 bet iš tikrųjų visi maršrutų turi grįžti šiek tiek teksto ir HTML rūšiuoti, 877 00:47:10,600 --> 00:47:14,360 kad jūs iš tikrųjų turi grįžti peradresavimo skambutį. 878 00:47:14,360 --> 00:47:18,379 Priešingu atveju, jūs gausite kažką negalioja apie negrįžta eilutę, 879 00:47:18,379 --> 00:47:21,420 nes visi iš jų turi grįžti HTML jūs iš tikrųjų norite padaryti. 880 00:47:21,420 --> 00:47:26,980 >> Ir taip, kai skambinate peradresavimą, jis nukreipia jus į puslapį, 881 00:47:26,980 --> 00:47:30,270 bet ji iš tikrųjų grįžta į HTML Jums reikia įvykdyti, kad peradresavimas. 882 00:47:30,270 --> 00:47:34,430 883 00:47:34,430 --> 00:47:37,110 Grįžti į pagrindinį puslapį. 884 00:47:37,110 --> 00:47:39,200 Taigi, mes turime šiuos du skirtingus požiūrius. 885 00:47:39,200 --> 00:47:40,132 Mes turime namų vaizdą. 886 00:47:40,132 --> 00:47:41,590 Arba, manau, turėčiau pasakyti šablonus. 887 00:47:41,590 --> 00:47:44,190 Mes turime šiuos du šablonus, namų šablonas, kuris 888 00:47:44,190 --> 00:47:48,500 rodo visus mūsų žinučių ir tada mes turime šį skelbimą dalykas, 889 00:47:48,500 --> 00:47:52,970 ir kai jūs spustelėkite įrašą, jis eina į naują maršrutas į kolbą, 890 00:47:52,970 --> 00:47:55,920 bet trasa nebūtinai turėti atitinkamą šabloną. 891 00:47:55,920 --> 00:47:59,290 892 00:47:59,290 --> 00:48:01,560 Jūs neturite pamatyti nieko, bet jūs vis dar galite 893 00:48:01,560 --> 00:48:04,090 turi šis darbas vyksta užkulisiuose. 894 00:48:04,090 --> 00:48:07,450 Ir tada jums nukreipti Grįžti į pradinį puslapį. 895 00:48:07,450 --> 00:48:12,230 Ir tikrai, tai lengva dirbti kai gražiau CSS į šabloną 896 00:48:12,230 --> 00:48:15,580 ir padaryti tai atrodo daug gražiau, bet visi pagrindinio logika 897 00:48:15,580 --> 00:48:18,590 yra ten Python. 898 00:48:18,590 --> 00:48:20,020 >> Bet apie tai Pavyzdžiui klausimų? 899 00:48:20,020 --> 00:48:22,760 Žinau, kad yra daug skirtingi dalykai ten vyksta, 900 00:48:22,760 --> 00:48:25,341 daug dalykų mes nematė anksčiau, bet kaip nieko. 901 00:48:25,341 --> 00:48:25,840 Taip. 902 00:48:25,840 --> 00:48:28,346 >> AUDITORIJA 1: Ar turite ką nors padaryti ypatingą nušveiskite duomenis, kad yra 903 00:48:28,346 --> 00:48:29,600 Iš forma? 904 00:48:29,600 --> 00:48:31,109 Aš pastebėjau, jūs tiesiog pasakė: "sukurti" 905 00:48:31,109 --> 00:48:33,900 EZRA ZIGMOND: Taip, taip, kad tai iš tikrųjų, tai tikrai gera vieta. 906 00:48:33,900 --> 00:48:36,350 Taigi klausimas buvo, ar ne reikia patikrinti ir įsitikinti, 907 00:48:36,350 --> 00:48:39,190 kad duomenys galioja, ir padaryti jokios šveitimo rūšiuoti 908 00:48:39,190 --> 00:48:41,840 įsitikinti, kad jis galioja, nes kaip matote čia 909 00:48:41,840 --> 00:48:42,660 Aš ne tai, kad. 910 00:48:42,660 --> 00:48:48,140 Taigi pažiūrėkime, kas atsitinka, jei aš rašyti kažką tuščią. 911 00:48:48,140 --> 00:48:51,190 Taigi, jis bus iš tikrųjų tik padaryti tuščias postas ir užpildyti datetime. 912 00:48:51,190 --> 00:48:55,990 >> Taigi iš tikrųjų, jūs tikriausiai noriu padaryti kažką panašaus, 913 00:48:55,990 --> 00:49:04,749 gal nurodykite, ar pavadinimas yra lygus tuščia eilutė, tada nereikia daryti. 914 00:49:04,749 --> 00:49:07,290 Arba, tik tai padaryti, jei pavadinimas yra nėra lygus tuščią eilutę. 915 00:49:07,290 --> 00:49:10,330 Taigi iš tikrųjų nėra automatiškai rūpintis tuo plovimą 916 00:49:10,330 --> 00:49:12,820 už jus, todėl jūs vis dar reikia padaryti, kad. 917 00:49:12,820 --> 00:49:14,330 Taip, geras klausimas. 918 00:49:14,330 --> 00:49:18,497 >> AUDITORIJA 2: jis šveitimas už tęsinys injekcijos? 919 00:49:18,497 --> 00:49:19,890 Ar tu žinai? 920 00:49:19,890 --> 00:49:22,830 >> EZRA ZIGMOND: Tikimės, kad Peewee daro. 921 00:49:22,830 --> 00:49:25,830 Manau, kad tikrai būtų gana blogai biblioteka, jei jis nepadarė. 922 00:49:25,830 --> 00:49:29,511 923 00:49:29,511 --> 00:49:32,690 Aš nežinau tiksliai. 924 00:49:32,690 --> 00:49:34,820 Aš turiu pažvelgti į užklausti, kad jis sukurtas. 925 00:49:34,820 --> 00:49:38,980 Manau, kad jei aš įvedėte A dienoraštyje, kad tarsi atrodė 926 00:49:38,980 --> 00:49:46,370 kaip SQL injekcijos išpuolių, kažkas panašaus į tai, jei tai 927 00:49:46,370 --> 00:49:49,370 yra tarsi slaptažodžio lauke ar kažkas, galite padaryti kažką panašaus į tai. 928 00:49:49,370 --> 00:49:53,410 >> Aš manau, kad bus dar gauti tiesiog parašė, 929 00:49:53,410 --> 00:49:59,200 bet manau, kad Peewee ar daryti kai šveitimo iš duomenų Rūšiuoti 930 00:49:59,200 --> 00:50:01,680 kol ji faktiškai vykdo ją. 931 00:50:01,680 --> 00:50:04,510 >> AUDITORIJA 1: Tas tekstas laukas yra sukurta imtis teksto, tiesa? 932 00:50:04,510 --> 00:50:05,710 >> EZRA ZIGMOND: Taip, ji yra. 933 00:50:05,710 --> 00:50:06,465 Taip. 934 00:50:06,465 --> 00:50:09,590 Taigi, manau, kad visi, todėl tai yra teisingas elgesys, kad bus padaryti, 935 00:50:09,590 --> 00:50:12,170 bet manau, kad Peewee tikiuosi daro padaryti 936 00:50:12,170 --> 00:50:13,780 kai apsaugos Rūšiuoti pagal jų pabaigos. 937 00:50:13,780 --> 00:50:16,090 Ir jei jūs norėjo patikrinkite, kad ten 938 00:50:16,090 --> 00:50:19,530 Yra būdų, kai jums sukurti užklausą. 939 00:50:19,530 --> 00:50:22,622 todėl jūs neturite vykdyti tiesiogiai. 940 00:50:22,622 --> 00:50:24,330 Aš turiu imtis pažvelgti dokumentus, 941 00:50:24,330 --> 00:50:27,930 bet jūs iš tikrųjų galite peržiūrėti SQL, kad jis yra generuoti, 942 00:50:27,930 --> 00:50:30,840 ir pažiūrėtų į, kad atrodo, ir kad įsitikinkite, kad jis yra pabėgti dalykų. 943 00:50:30,840 --> 00:50:33,700 >> Dar viena priežastis, kodėl jums gali nori pažvelgti į SQL 944 00:50:33,700 --> 00:50:37,920 kad Peewee yra išvedė, yra, jei viskas atrodo, vyksta tikrai lėtai, 945 00:50:37,920 --> 00:50:41,090 galite pažvelgti ir pamatyti, kas tai iš tikrųjų daro, nes tai kartais 946 00:50:41,090 --> 00:50:44,670 lengva netyčia pridėti į, tai, kaip rašote, 947 00:50:44,670 --> 00:50:47,880 galite netyčia jį pasirinkti visą duomenų bazę, pirma, 948 00:50:47,880 --> 00:50:50,230 ir tada daryti kokią nors operaciją apie tai, kai jūs tikrai 949 00:50:50,230 --> 00:50:51,320 reiškė pasirinkti poaibį. 950 00:50:51,320 --> 00:50:53,560 >> Ir taip, jei viskas yra ne gana vyksta teisingai, 951 00:50:53,560 --> 00:50:57,300 tai gerai, kad pažiūrėtų į prašymo išvaizdą kad iš tikrųjų gauti sukurtas. 952 00:50:57,300 --> 00:50:57,800 Taip. 953 00:50:57,800 --> 00:51:02,100 >> AUDITORIJA 2: Kai pirmą kartą pradėjo, jūs įtraukėte į uostą, kaip 5000. 954 00:51:02,100 --> 00:51:02,904 >> EZRA ZIGMOND: Taip. 955 00:51:02,904 --> 00:51:06,070 AUDITORIJA 2: yra numatytasis su Peewee, ar tai, kad ką jūs galite pakeisti? 956 00:51:06,070 --> 00:51:10,870 EZRA ZIGMOND: Taip, taip, kad uostas yra numatytoji su kolbą. 957 00:51:10,870 --> 00:51:13,061 Jei paleisti jį be nurodant nieko, 958 00:51:13,061 --> 00:51:14,310 ji bus automatiškai padaryti. 959 00:51:14,310 --> 00:51:16,060 Manau, aš turiu patikrinkite tai, 960 00:51:16,060 --> 00:51:19,130 bet jūs galite nurodyti, kad app.run, Manau, kad jūs galite padaryti kažką panašaus, 961 00:51:19,130 --> 00:51:19,629 Uosto = 8080. 962 00:51:19,629 --> 00:51:22,375 963 00:51:22,375 --> 00:51:23,750 Leiskite duoti, kad pabandyti nekilnojamojo greitai. 964 00:51:23,750 --> 00:51:29,100 965 00:51:29,100 --> 00:51:32,230 Taip, todėl galite tiesiog nurodyti Uosto = 8080, ir jis bus rodomas ten, 966 00:51:32,230 --> 00:51:36,130 o tai, manau, jei norėjo jį paleisti ant IDE, aš ne bandė tai iš, 967 00:51:36,130 --> 00:51:38,527 bet manau, kad jei bėgo uoste 8080, 968 00:51:38,527 --> 00:51:40,360 jūs tikriausiai galės prieiti prie serverio, 969 00:51:40,360 --> 00:51:41,870 tiesiog norėčiau jums buvo už svetainėje. 970 00:51:41,870 --> 00:51:44,390 >> Taip, bet tai lengva pakeisti, kad jei 971 00:51:44,390 --> 00:51:48,540 jokių panašaus uosto-ekspedijavimo rūšiuoti dalykų, kad jums reikia daryti. 972 00:51:48,540 --> 00:51:50,410 >> Visi kiti klausimai? 973 00:51:50,410 --> 00:51:50,916 Taip? 974 00:51:50,916 --> 00:51:53,416 AUDITORIJA 1: Taigi, aš pamačiau savo modeliai, kurie, kaip Jūs minėjote, 975 00:51:53,416 --> 00:51:55,647 jūs turite tiksliai apibrėžti duomenų bazė, skirta kiekvieno objekto. 976 00:51:55,647 --> 00:51:58,105 Ar jums atsitikti žinoti, ar kad padaryti tikrai lengva, jei 977 00:51:58,105 --> 00:52:03,210 turi daug SQLite duomenų bazių, kad jūs norite naudoti vieną interneto app, 978 00:52:03,210 --> 00:52:07,210 kad galite tiesiog nurodyti krūva Įvairių tie Jūsų modelį? 979 00:52:07,210 --> 00:52:11,620 >> EZRA ZIGMOND: Taip, leiskite man atidaryti, kad iki realaus greitai. 980 00:52:11,620 --> 00:52:17,570 Taigi, jūs sakote, jei norite turėti iš skirtingų kažko krūva, gal 981 00:52:17,570 --> 00:52:22,670 patinka ir studentai, kai priežastis, kažkas panašaus? 982 00:52:22,670 --> 00:52:26,870 Taip, taip, manau, kad Jūs vis dar, kiekvienas modelis 983 00:52:26,870 --> 00:52:30,652 tektų dar tik viena duomenų bazė, priskirtas prie jo, 984 00:52:30,652 --> 00:52:32,610 bet jei norėjo turėti skirtingi modeliai, 985 00:52:32,610 --> 00:52:35,818 turi skirtingas duomenų bazės objektus priskirti į jį, galite tikrai padaryti. 986 00:52:35,818 --> 00:52:43,070 Taigi, jei aš sukūriau naują, kažkas panašaus į tai, 987 00:52:43,070 --> 00:52:47,000 o dabar tai yra studentas, kuris atrodo keistai kaip bloge, 988 00:52:47,000 --> 00:52:49,390 Galėčiau nurodyti, kad duomenų bazė yra lygus db_2 čia. 989 00:52:49,390 --> 00:52:51,390 Taigi, manau, kad tai toks Pagrindinis būdu jūs galite tai padaryti. 990 00:52:51,390 --> 00:52:54,560 991 00:52:54,560 --> 00:52:56,200 >> Saunus. 992 00:52:56,200 --> 00:52:58,410 Visi kiti klausimai? 993 00:52:58,410 --> 00:53:02,170 >> Taigi tiesiog baigti iki šiek tiek tiek, čia yra keletas išteklių, 994 00:53:02,170 --> 00:53:06,030 ir šie skaidrės bus paskelbtas internete kad jūs iš tikrųjų galite gauti šias nuorodas. 995 00:53:06,030 --> 00:53:08,500 Geriausi ištekliai yra tikrai už kolbą dokumentacija 996 00:53:08,500 --> 00:53:09,930 ir Peewee patys. 997 00:53:09,930 --> 00:53:12,940 Jie parašyta tikrai gerai, manau. 998 00:53:12,940 --> 00:53:18,180 Taigi, kolba svetainė yra čia, ir jie turi quickstart pamoka, kad 999 00:53:18,180 --> 00:53:20,710 bus vaikščioti per panašus viskas, ką aš vaikščiojo pro 1000 00:53:20,710 --> 00:53:23,560 bet jei norite, bet peržiūros rūšiuoti iš dalykų, kad aš perėjo, 1001 00:53:23,560 --> 00:53:26,200 ar jūs maniau, kad man paaiškino, kažkas paini būdu, 1002 00:53:26,200 --> 00:53:28,390 jie turi panašių pavyzdžių yra. 1003 00:53:28,390 --> 00:53:31,570 >> Peewee turi dokumentus ir jie turi quickstart pamoka 1004 00:53:31,570 --> 00:53:34,650 kad eina per pagrindinių parametrų kad jūs norėtumėte naudoti. 1005 00:53:34,650 --> 00:53:38,900 Taigi, ką aš kalbėjau apie su unikalių ir nurodant defaults, 1006 00:53:38,900 --> 00:53:42,710 skirtingi rūšių srityse, kad galite naudotis, tiems būtų visi bus ten. 1007 00:53:42,710 --> 00:53:44,690 >> Taip pat, jei turite Turite klausimų apie Peewee, 1008 00:53:44,690 --> 00:53:47,530 ir jūs galėtumėte jas stackoverflow, vaikinas, kuris padarė Peewee tikrųjų 1009 00:53:47,530 --> 00:53:49,500 tęsiasi ir atsako tie kartais. 1010 00:53:49,500 --> 00:53:53,200 Jei turite klausimų, tikiuosi jis galės atsakyti į jį, 1011 00:53:53,200 --> 00:53:54,867 nes jis rašė visa tai. 1012 00:53:54,867 --> 00:53:56,700 Manau, kad viskas Norėjau padengti. 1013 00:53:56,700 --> 00:53:58,930 Ačiū už išeina. 1014 00:53:58,930 --> 00:54:02,688