1 00:00:00,000 --> 00:00:00,499 2 00:00:00,499 --> 00:00:03,227 [MUSIC PLAYING] 3 00:00:03,227 --> 00:00:04,705 4 00:00:04,705 --> 00:00:05,830 EZRA Zigmond: Hi, hər kəs. 5 00:00:05,830 --> 00:00:08,020 Bu gün gələn üçün təşəkkür edirik. 6 00:00:08,020 --> 00:00:10,660 Bu seminar "Python deyil Web kolba ilə apps. " 7 00:00:10,660 --> 00:00:14,510 >> Belə ki, mən söhbət etmək gedirəm niyə bir az 8 00:00:14,510 --> 00:00:17,400 etmək üçün şarın istifadə edə bilərsiniz Python ilə web apps kimi qarşı 9 00:00:17,400 --> 00:00:21,556 orada bəzi digər çərçivəsində kimi üçün Ən tanınmış Django. 10 00:00:21,556 --> 00:00:24,330 alt "və bir şeydir peewee " 11 00:00:24,330 --> 00:00:27,250 biz haqqında danışmaq olacaq SQL verilənlər bazası ilə qarşılıqlı. 12 00:00:27,250 --> 00:00:29,610 Bu, həqiqətən gözəl edir. 13 00:00:29,610 --> 00:00:32,390 >> Belə ki, burada yalnız bir sürətli rundown var Mən artıq getmək istəyirəm nə. 14 00:00:32,390 --> 00:00:35,520 Belə ki, ilk, yalnız bir slayd ki, quickstart olacaq 15 00:00:35,520 --> 00:00:38,530 olan hər şeyi almaq üçün necə bilgisayarınızda qurmaq. 16 00:00:38,530 --> 00:00:41,760 Mən nümayiş gedirəm Yerli Mac maşın bu, 17 00:00:41,760 --> 00:00:45,220 ki, yalnız, çünki mən bu etdik harada əvvəl, mən, bu ən rahat deyiləm 18 00:00:45,220 --> 00:00:48,510 lakin bu mütləq deyil CD50 IDE mümkün. 19 00:00:48,510 --> 00:00:52,050 >> Belə ki, sonra, mən istəyirəm , Flask nə təqdim 20 00:00:52,050 --> 00:00:55,089 və siz razı niyə lazımdır ilk növbədə istifadə edin. 21 00:00:55,089 --> 00:00:56,880 Sonra mən tez verəcəyik Siz nə nümunəsi 22 00:00:56,880 --> 00:01:00,550 Flask, tez nümunə edə bilərsiniz Siz Peewee nə edə bilər ki, 23 00:01:00,550 --> 00:01:05,010 və sonra mən bir daha göstərir ki, tam nümunə proqram 24 00:01:05,010 --> 00:01:07,520 Düşünürəm ki, biz birlikdə qoymaq ki, birlikdə vasitəsilə gəzmək olar. 25 00:01:07,520 --> 00:01:10,040 >> Və sonra nəhayət, in son slide, mən 26 00:01:10,040 --> 00:01:12,730 baxmaq, bəzi resurslar Daha ətraflı məlumat üçün online at. 27 00:01:12,730 --> 00:01:15,560 Bu tam deyil Flask necə istifadə tutorial. 28 00:01:15,560 --> 00:01:18,140 Mən tərk etmək umuyoruz suallar üçün bir müddət. 29 00:01:18,140 --> 00:01:21,050 Hər kəs yalnız yerli seyr kimi ortada həyata bağırmaq 30 00:01:21,050 --> 00:01:22,340 Əgər hər hansı bir sualınız varsa. 31 00:01:22,340 --> 00:01:27,150 >> Belə ki, sürətli quraşdırma stuff, Siz birlikdə izləmək istəyirsinizsə, 32 00:01:27,150 --> 00:01:29,240 və ya bu almaq istəyirsinizsə öz maşın up, 33 00:01:29,240 --> 00:01:32,440 Mən Python 2.7.10 istifadə gedirəm. 34 00:01:32,440 --> 00:01:35,860 Flask ilə çalışır Python 3, amma mən istəyirəm 35 00:01:35,860 --> 00:01:38,660 var, çünki, Python 2 istifadə bəzi Python paketləri ki 36 00:01:38,660 --> 00:01:40,910 Hələ 3 işləmir. 37 00:01:40,910 --> 00:01:44,800 Siz tırtıl yüklü olan bir Python paketi meneceri, 38 00:01:44,800 --> 00:01:48,190 Sizin Python, mən hesab edirəm ki, və ya daha çox 2.7.9 bərabər, 39 00:01:48,190 --> 00:01:52,220 Siz artıq yüklü, bu bu paketləri yüklemek üçün super asan. 40 00:01:52,220 --> 00:01:54,990 >> Siz tırtıl quraşdıra edə bilərsiniz Flask, peewee bərpa tırtıl, 41 00:01:54,990 --> 00:01:58,600 adətən yalnız sudo run var belə icazələrin iş ki. 42 00:01:58,600 --> 00:02:01,080 Və siz istifadə əgər bir super Python köhnə versiyası 43 00:02:01,080 --> 00:02:05,100 Mən sizin Python yenilənməsi gəlir və ya EasyInstall istifadə DİP yüklemek üçün. 44 00:02:05,100 --> 00:02:09,180 45 00:02:09,180 --> 00:02:11,120 Belə ki, növbəti sual, Flask nədir? 46 00:02:11,120 --> 00:02:13,280 Mən ilk tahmin məntiqi sual mən merak 47 00:02:13,280 --> 00:02:15,585 uzun müddət üçün, bir web app nədir? 48 00:02:15,585 --> 00:02:17,960 Ki, bir söz var, çünki mən bir çox ətrafında atılan edirəm 49 00:02:17,960 --> 00:02:19,240 Mən, həqiqətən, bilmirdim ki. 50 00:02:19,240 --> 00:02:22,340 Mən ən yaxşı hesab edirəm ki, bir web app nə Məsələn, 51 00:02:22,340 --> 00:02:26,960 həqiqətən CS50 Maliyyə, var Bu, həqiqətən, yalnız bir web deyil 52 00:02:26,960 --> 00:02:29,320 lakin bu bir şey ki, sort ilə qarşılıqlı bilər. 53 00:02:29,320 --> 00:02:31,736 Istifadəçi hesabı var və müxtəlif şeyi bütün növ. 54 00:02:31,736 --> 00:02:35,010 Belə ki, məhz siz çəkmək bir web nə arasında xətti, 55 00:02:35,010 --> 00:02:38,780 və bir web app, nə növ edir ixtiyari, amma fikir tapmaq, 56 00:02:38,780 --> 00:02:42,110 Bu bir web daha çox bir şey və faydalı proqram var. 57 00:02:42,110 --> 00:02:46,081 >> Belə ki, Flask bir çərçivə üçün Python istifadə edərək web apps edilməsi. 58 00:02:46,081 --> 00:02:48,330 Və ümid edirəm ki, ilin sonuna qədər Bu, mən sizə razı olacaq 59 00:02:48,330 --> 00:02:52,210 Siz, həqiqətən, bir şey yazmaq bilər ki, CS50 Maliyyə kimi Python istifadə I 60 00:02:52,210 --> 00:02:53,950 şəxsən, PHP çox yaxşı kimi. 61 00:02:53,950 --> 00:02:57,320 >> Belə ki, Flask, onlar zəng microframework, olan, 62 00:02:57,320 --> 00:02:59,800 onlar çox demək sadə, lakin genişlənən. 63 00:02:59,800 --> 00:03:02,980 Belə ki, sizə lazım yalnız nə var lakin daha çox xüsusiyyətləri istəyirsinizsə, 64 00:03:02,980 --> 00:03:04,522 bu gətirək asandır. 65 00:03:04,522 --> 00:03:06,480 Amma bu yalnız bir microframework, deyil 66 00:03:06,480 --> 00:03:08,960 kiçik layihələr üçün yalnız var ki, demək. 67 00:03:08,960 --> 00:03:12,590 Mən deyir burada bir link var Obama 2012-ci ildə Flask istifadə 68 00:03:12,590 --> 00:03:14,410 onun kampaniyası üçün veb olan ümid edirəm ki, 69 00:03:14,410 --> 00:03:16,937 bir dəstək bir şey deyil. 70 00:03:16,937 --> 00:03:18,770 Lakin şey ki, mən həqiqətən Flask haqqında istəyirəm 71 00:03:18,770 --> 00:03:22,401 , bu, həqiqətən etmir ki, Sizin üçün qərarların hər hansı bir sort. 72 00:03:22,401 --> 00:03:24,150 Sadəcə biz istəyirik, çünki web apps haqqında danışarkən, 73 00:03:24,150 --> 00:03:26,940 Mən Ruby müqayisə etmək Rails və Django, həm də olan 74 00:03:26,940 --> 00:03:30,450 böyük çərçivələr, lakin Onlar həm də fərziyyələr etmək 75 00:03:30,450 --> 00:03:33,600 haqqında necə istəyirəm verilənlər bazası ilə qarşılıqlı, 76 00:03:33,600 --> 00:03:36,900 Necə təqdim etmək istəyirəm views, və onlar mütləq istəyirik 77 00:03:36,900 --> 00:03:38,850 ki, yaxşı aspektləri. 78 00:03:38,850 --> 00:03:41,490 >> Məsələn, Ruby on Rails üçün Bu aktiv rekord sistemi var, 79 00:03:41,490 --> 00:03:43,100 olan həqiqətən gözəl data ilə qarşılıqlı yolu, 80 00:03:43,100 --> 00:03:45,960 ancaq Ruby istifadə etmək istəyirsinizsə Rails, sort ki, daxil bağladı edirik. 81 00:03:45,960 --> 00:03:47,835 Amma Flask ilə, mən kimi Peewee ilə sizə göstərmək, 82 00:03:47,835 --> 00:03:49,830 Siz nə cür istifadə edə bilərsiniz verilənlər bazası istədiyiniz, 83 00:03:49,830 --> 00:03:53,980 və yalnız ki, çəkmək olar kolba bir uzantısı kimi. 84 00:03:53,980 --> 00:03:56,350 >> Belə ki, niyə mən həqiqətən Flask kimi, bu ki 85 00:03:56,350 --> 00:04:01,170 Sizin üçün fərziyyələr etmir şeyi əsaslanır həqiqətən, ehtiyac yoxdur. 86 00:04:01,170 --> 00:04:04,440 >> Belə ki, niyə kolba istifadə etməli? 87 00:04:04,440 --> 00:04:08,230 üstünlükləri yalnız var həqiqətən əsas xüsusiyyətləri vardır 88 00:04:08,230 --> 00:04:09,420 onu inşa siz lazımdır. 89 00:04:09,420 --> 00:04:11,980 Belə ki, siz narahat yoxdur şeyi bütün dəstə dərk 90 00:04:11,980 --> 00:04:13,175 Siz, həqiqətən, ehtiyac yoxdur ki. 91 00:04:13,175 --> 00:04:15,060 Siz narahat yoxdur funksiyalar off dönüş haqqında 92 00:04:15,060 --> 00:04:16,620 Siz, həqiqətən, ehtiyac yoxdur ki. 93 00:04:16,620 --> 00:04:21,082 >> Mən qeyd etdiyim kimi, bu, super var şeyi uzantıları əlavə etmək üçün asandır 94 00:04:21,082 --> 00:04:21,790 Siz lazımdır ki. 95 00:04:21,790 --> 00:04:24,700 Bəziləri, Flask var bunun üçün öz dəstək. 96 00:04:24,700 --> 00:04:28,230 Belə ki, Flask deyilən bir şey var ki admin güzgülər admin, 97 00:04:28,230 --> 00:04:32,060 Django təmin panel, olan bir gözəl əyani yol verir 98 00:04:32,060 --> 00:04:33,405 Sizin veb idarə etmək. 99 00:04:33,405 --> 00:04:35,280 Ancaq yenə də, siz değilseniz bir şey sadə edilməsi, 100 00:04:35,280 --> 00:04:39,550 Siz yəqin ki, böyük bir admin lazım deyil panel, mən ki, super gözəl hesab edirəm. 101 00:04:39,550 --> 00:04:45,940 Və mənfi cəhətləri, ki Siz qutusu az güc var. 102 00:04:45,940 --> 00:04:49,660 Belə ki, ilk kolba açmaq zaman, və Python proqramı, 103 00:04:49,660 --> 00:04:53,150 Yalnız Flask Növü idxal * və ya hər hansı, 104 00:04:53,150 --> 00:04:55,957 tam bütün almaq deyil xüsusiyyətləri edə bilərsiniz. 105 00:04:55,957 --> 00:04:58,540 Və belə ki, daha aydın var istədiyiniz xüsusiyyətləri siyahısı. 106 00:04:58,540 --> 00:05:01,990 Belə ki, bir dezavantaj var, amma kiçik web bina hesab edirəm ki, 107 00:05:01,990 --> 00:05:04,782 mən kimi apps göstərən gedirəm Siz, həqiqətən bir problem deyil. 108 00:05:04,782 --> 00:05:07,281 Və son şey nədir bir typo olan demək ehtimal, 109 00:05:07,281 --> 00:05:10,240 az standart var ki Flask necə istifadə üçün konvensiyalar, 110 00:05:10,240 --> 00:05:12,400 kimi çox deyil, çünki peşəkarcasına istifadə edən insanlar 111 00:05:12,400 --> 00:05:13,191 Django ilə müqayisədə. 112 00:05:13,191 --> 00:05:16,380 Belə ki, kimi bir şey varsa, Django ildə "necə x etməliyəm", 113 00:05:16,380 --> 00:05:18,190 Siz yəqin ki, tapa bilərsiniz. 114 00:05:18,190 --> 00:05:20,260 >> Yaxşı dizayn var istifadə edə bilərsiniz nümunələri, 115 00:05:20,260 --> 00:05:22,660 lakin Flask ilə, bu sort öz yol getmək, 116 00:05:22,660 --> 00:05:24,850 yalnız bir çünki olduqca kiçik kitabxana. 117 00:05:24,850 --> 00:05:27,100 Belə ki, o var mənfi cəhətləri, amma hesab edirəm ki, 118 00:05:27,100 --> 00:05:29,370 ki, hələ də istifadə etmək yaxşı bir kitabxana var. 119 00:05:29,370 --> 00:05:31,909 >> Belə ki, yalnız sağ kolba jump edək. 120 00:05:31,909 --> 00:05:34,200 Bu, mütləq niyyətində deyil tam tutorial olmaq, 121 00:05:34,200 --> 00:05:37,480 ancaq bir fikir vermək üçün var şeyi strukturu necə, 122 00:05:37,480 --> 00:05:40,790 və siz gedir rahat hiss off və sənədlərin baxaraq 123 00:05:40,790 --> 00:05:42,570 və daha çox tapmaq. 124 00:05:42,570 --> 00:05:48,500 >> Belə ki, mənə, həqiqətən, açmaq bildirin ilk sadə misal, 125 00:05:48,500 --> 00:05:50,737 Və nə göstərir ki, kimi görünür, sonra biz will 126 00:05:50,737 --> 00:05:52,070 bir az daha onu qırmaq. 127 00:05:52,070 --> 00:05:56,160 >> Belə ki, burada, mənə çalışan almaq imkan verir. 128 00:05:56,160 --> 00:06:06,800 129 00:06:06,800 --> 00:06:09,750 Belə ki, mən indi mənim proqram çalışan var. 130 00:06:09,750 --> 00:06:15,910 Mən Safari açmaq gedir və alıram mənim yerli host çalışan. 131 00:06:15,910 --> 00:06:19,360 Mən yalnız bu böyük etmək üçün gedirəm. 132 00:06:19,360 --> 00:06:23,960 Amma localhost: 5000 133 00:06:23,960 --> 00:06:27,650 >> Belə ki, indi, bütün bu yoxdur , siz veb səhifəsinə zaman, 134 00:06:27,650 --> 00:06:31,490 Bu "Hello kolba" çap olan super faydalı deyil 135 00:06:31,490 --> 00:06:34,630 ancaq ki, sərin hesab burada bu kiçik fayl, 136 00:06:34,630 --> 00:06:37,390 biz bir web server çalışan ki, bir şey çap olunur. 137 00:06:37,390 --> 00:06:40,500 Belə ki, həqiqətən baxaq ikinci koda, 138 00:06:40,500 --> 00:06:43,080 və bir az onu qırmaq. 139 00:06:43,080 --> 00:06:45,260 Ölçüsü burada hər kəs üçün yaxşı? 140 00:06:45,260 --> 00:06:51,560 >> Belə ki, ümid edirəm ki, siz bir qədər istəyirik Python istifadə rahat. 141 00:06:51,560 --> 00:06:55,820 Düşünürəm ki, biz baxmaq olar ki, fərz edirəm Python və onun vasitəsilə oxuyun. 142 00:06:55,820 --> 00:06:59,290 Siz haqqında hər hansı bir sualınız varsa bir şey, mən də ki, artıq getmək olar. 143 00:06:59,290 --> 00:07:03,974 >> Belə ki, ilk line kolba ki, var, Biz kapitalı ilə kolba idxal "F" 144 00:07:03,974 --> 00:07:06,140 olan bütün növ sizə lazım əsas xüsusiyyətləri. 145 00:07:06,140 --> 00:07:08,890 Zaman yazılı etdiyiniz bir fayl və istifadə Flask, 146 00:07:08,890 --> 00:07:12,120 ki, idxal istəyirəm olacaq, ki, bütün əsas şeylər var yalnız çünki. 147 00:07:12,120 --> 00:07:15,400 Biz nə növbəti şey, biz yalnız bu funksiya Flask zəng 148 00:07:15,400 --> 00:07:19,270 bir app obyekt yaratmaq, və istəyirik həmişə bunu istəyirəm olacaq. 149 00:07:19,270 --> 00:07:25,960 >> Və sonra, aşağı jumping bottom tez bu hissəsi burada var 150 00:07:25,960 --> 00:07:28,760 Edir if_name _ == "_ main_" bir Python Konvensiyanın sort. 151 00:07:28,760 --> 00:07:32,750 Belə ki, bu yalnız əgər icra edəcək birbaşa Python istifadə edərək, bu fayl axır. 152 00:07:32,750 --> 00:07:36,040 Sonra, biz olan, app.run zəng həqiqətən gedir app başlamaq. 153 00:07:36,040 --> 00:07:39,570 >> Belə ki, ana quruluş ki, Əgər hər hansı bir Flask proqram lazımdır, 154 00:07:39,570 --> 00:07:48,550 bu olacaq ki, app = Flask (_name_), sonra app.run. 155 00:07:48,550 --> 00:07:54,940 >> Belə ki, iki şey mən ki, burada, biz marşrutları zəng edir. 156 00:07:54,940 --> 00:07:57,150 Belə ki, haqqında danışmaq edək bir az daha marşrutlaşdırma. 157 00:07:57,150 --> 00:07:58,430 Mən geri slayd getmək lazımdır. 158 00:07:58,430 --> 00:08:02,540 >> Belə ki, ən fundamental Flask konsepsiyası marşrutlaşdırma olunur. 159 00:08:02,540 --> 00:08:06,750 Və bu fikirdir ki, Python funksiyaları təyin 160 00:08:06,750 --> 00:08:11,280 xüsusi ünvanlara web page. 161 00:08:11,280 --> 00:08:13,930 Belə ki, istədiyiniz zaman yeni marşrut yaratmaq, 162 00:08:13,930 --> 00:08:16,500 Bu @ app.route istifadə funksiyası decorator. 163 00:08:16,500 --> 00:08:19,770 Belə ki, ilə tanımadığı əgər var Python funksiyası bəzəyi, 164 00:08:19,770 --> 00:08:24,160 Bu anlayış var ki, Bir funksiyası almaq imkan verir 165 00:08:24,160 --> 00:08:26,800 və başqa bir şey ilə əhatə edir. 166 00:08:26,800 --> 00:08:30,140 >> Belə ki, həqiqətən, bu decorator nə, , bu aşağıdakı funksiyası edir ki, 167 00:08:30,140 --> 00:08:33,409 və daha çox məlumat əlavə bu, lakin nə Flask həqiqətən 168 00:08:33,409 --> 00:08:37,480 baş edir super deyil mühüm, lakin vacibdir nə, 169 00:08:37,480 --> 00:08:43,640 ki, marşrut əvvəl onda bu @ app.route qoymaq və 170 00:08:43,640 --> 00:08:46,480 Marşrutun ünvan, belə çizgi nə biz 171 00:08:46,480 --> 00:08:48,360 biz yalnız web page açmaq zaman gördüm. 172 00:08:48,360 --> 00:08:49,580 Belə ki, ana var. 173 00:08:49,580 --> 00:08:51,037 Bu, sadəcə çizgi marşrut var. 174 00:08:51,037 --> 00:08:52,370 Və sonra bu funksiya var. 175 00:08:52,370 --> 00:08:54,453 funksiyası adı Istədiyiniz hər hansı ola bilər. 176 00:08:54,453 --> 00:08:56,930 Bu, mütləq deyil marşrutu ilə var. 177 00:08:56,930 --> 00:08:59,440 Və sonra, nə funksiyasının qaytarılması, 178 00:08:59,440 --> 00:09:01,730 funksiyası bir simli qaytarmalıdır. 179 00:09:01,730 --> 00:09:03,740 Və simli bilər , HTML və ya bir şey ola 180 00:09:03,740 --> 00:09:06,920 və nə olacaq əslində HTML web browser döndü, 181 00:09:06,920 --> 00:09:08,200 və bu göstərəcək. 182 00:09:08,200 --> 00:09:12,030 >> Belə ki, bu eyni kodu ki, məsələn idi 183 00:09:12,030 --> 00:09:16,430 Mən yalnız qaçdı ki, belə ki, biz çizgi ziyarət zaman, bir Hello World funksiyası çağırır ki, 184 00:09:16,430 --> 00:09:20,470 yalnız bir string, Hello Flask qaytarır, ki, ekranda çap olur. 185 00:09:20,470 --> 00:09:27,290 >> Belə ki, başqa bir nümunə var, olan zaman salam / ziyarət 186 00:09:27,290 --> 00:09:30,370 Bu Hello Word, çap olan həqiqətən, Hello World demək lazımdır, 187 00:09:30,370 --> 00:09:32,010 lakin qəsdən olduğunu iddia edək. 188 00:09:32,010 --> 00:09:35,140 Belə ki, real sürətli ki qoparmaq edək. 189 00:09:35,140 --> 00:09:41,290 >> Belə ki, salam / localhost getmək əgər, indi başqa bir şey çap edəcək. 190 00:09:41,290 --> 00:09:45,680 Belə ki, necə yalnız bir sürətli misal var iki müxtəlif marşrutları yarada bilərsiniz. 191 00:09:45,680 --> 00:09:50,630 >> Belə ki, indiyə qədər bu, super faydalı deyil Siz edə bilərsiniz bir çox yoxdur, 192 00:09:50,630 --> 00:09:55,360 Yalnız bütün bunu edə bilər müxtəlif HTML pages olan, 193 00:09:55,360 --> 00:09:58,000 və müəyyən bir ziyarət zaman səhifə yalnız səhifə yükləyir. 194 00:09:58,000 --> 00:10:00,864 Belə ki, bir daha görək Siz edə bilərsiniz faydalı şeylər. 195 00:10:00,864 --> 00:10:03,780 Belə ki, bir şey ola bilər ki, Mən çıxardı nümunə qeyd 196 00:10:03,780 --> 00:10:07,160 up, mən app.run idi ki, (debug = True). 197 00:10:07,160 --> 00:10:09,580 Belə ki, nə bu debug dəlil yoxdur 198 00:10:09,580 --> 00:10:14,600 Web server run zaman, Sizin tətbiqi olduğunuzda, 199 00:10:14,600 --> 00:10:18,100 Bir faylı dəyişdirmək əgər, o, avtomatik server yeniden. 200 00:10:18,100 --> 00:10:21,160 >> Və belə ki, həqiqətən yoxdur super faydalıdır yenidən başladın Python. 201 00:10:21,160 --> 00:10:24,020 Hesab edirəm ki, bilər. 202 00:10:24,020 --> 00:10:26,960 Mənim kodu qoparmaq edək bu typo ilə, 203 00:10:26,960 --> 00:10:30,420 və typo sürüldü iddia qəsdən ibrətamiz məqsədləri üçün. 204 00:10:30,420 --> 00:10:31,625 Belə ki, bu geri əlavə edək. 205 00:10:31,625 --> 00:10:33,140 Belə ki, indi Hello World deyir. 206 00:10:33,140 --> 00:10:34,410 Mən onu xilas edəcək. 207 00:10:34,410 --> 00:10:36,540 Və biz geri çəkmək əgər terminal, will 208 00:10:36,540 --> 00:10:39,520 Bu başlatmaqdan ki, demək, bir dəyişiklik aşkar çünki, 209 00:10:39,520 --> 00:10:43,620 və indi biz bu səhifəni zaman Doğru şey çap edəcək. 210 00:10:43,620 --> 00:10:45,630 >> Belə ki, debug ki, super faydalıdır. 211 00:10:45,630 --> 00:10:48,740 Ayrıca, hər hansı varsa bir qəza sort, belə ki, 212 00:10:48,740 --> 00:10:54,370 oxşar tətbiqi qəza edək olan bir string geri deyil. 213 00:10:54,370 --> 00:10:57,540 Belə ki, yalnız var edək nədənsə Yox qayıtmaq. 214 00:10:57,540 --> 00:11:00,810 Və sonra mən bu ziyarət zaman səhifə, yalnız qəza edəcək, 215 00:11:00,810 --> 00:11:04,465 lakin server yalnız onu qəza deyil həqiqətən super faydalı geri verir 216 00:11:04,465 --> 00:11:06,490 hər şey iz yanlış getdi ki. 217 00:11:06,490 --> 00:11:10,050 Və həqiqətən gözəl nə ki var bu geri iz hər hansı bir addım, 218 00:11:10,050 --> 00:11:14,260 Siz interaktiv aça bilər burada shell, və sort çap nə 219 00:11:14,260 --> 00:11:17,780 dəyişənlərin siz nəzər istəyirəm. 220 00:11:17,780 --> 00:11:21,054 >> Və belə ayıklama həqiqətən həyata figuring üçün faydalı 221 00:11:21,054 --> 00:11:23,470 nə ilə gedir sizin server deyil, yalnız görən 222 00:11:23,470 --> 00:11:28,201 500 daxili kimi PHP bir şey super əhəmiyyətsizdir server səhv. 223 00:11:28,201 --> 00:11:30,700 Bir şeydir, xəbərdar olmaq ki, online app qoymaq 224 00:11:30,700 --> 00:11:34,260 belə ki, ictimaiyyətə görünən siz heç vaxt debug rejimi tərk etmək istəyirəm, 225 00:11:34,260 --> 00:11:37,320 insanlar həqiqətən çünki ki, konsol istifadə ki, mən 226 00:11:37,320 --> 00:11:39,150 Siz əsassız kodu icra göstərdi. 227 00:11:39,150 --> 00:11:42,120 >> Belə ki, onlar heç kimi çap edə bilərsiniz siz orada olan gizli kodları, 228 00:11:42,120 --> 00:11:44,755 onlar məhz baxmaq olar necə Sizin veb işləyir. 229 00:11:44,755 --> 00:11:46,630 Belə ki, həqiqətən faydalı test üçün, lakin həmişə 230 00:11:46,630 --> 00:11:50,090 etmək əvvəl onu almaq üçün əmin Siz online bir şey dərc. 231 00:11:50,090 --> 00:11:56,640 >> Belə ki, bir şey istifadə etdiyiniz PHP kimi, bu ideya var 232 00:11:56,640 --> 00:11:58,920 Siz keçə bilər ki, web pages arasında məlumat 233 00:11:58,920 --> 00:12:03,620 həqiqətən məlumat qoyaraq bir GET sorğu URL da, 234 00:12:03,620 --> 00:12:07,490 lakin Flask, siz həqiqətən bilərsiniz sort kimi bir şey, 235 00:12:07,490 --> 00:12:10,590 bir marşrut olan Bunun bir hissəsi kimi dəyişən. 236 00:12:10,590 --> 00:12:14,090 >> Bu baxsaq belə burada ekranda məsələn, 237 00:12:14,090 --> 00:12:19,930 biz bir marşrut var ('/ Salam /'), və belə ki, siz ziyarət əgər 238 00:12:19,930 --> 00:12:23,790 / Salam / bir şey, bir şey həqiqətən dolu almaq üçün gedir 239 00:12:23,790 --> 00:12:25,490 adı dəyişən. 240 00:12:25,490 --> 00:12:27,850 Və funksiyası fark ki, marşrutu ilə gəlir 241 00:12:27,850 --> 00:12:31,302 parametr etmək var , ad bu, həqiqətən olacaq ki, 242 00:12:31,302 --> 00:12:32,510 funksiyası keçdi almaq. 243 00:12:32,510 --> 00:12:34,190 >> Və sonra, bir dəfə etdiyiniz ki, funksiyası daxilində, 244 00:12:34,190 --> 00:12:36,420 Siz kimi ki, müalicə edə bilər bir normal Python dəyişən, 245 00:12:36,420 --> 00:12:39,650 və belə sonra, o, Hello çap və bu 246 00:12:39,650 --> 00:12:42,000 istifadə edərək, adı dolduracaq bir string biçimlendirme. 247 00:12:42,000 --> 00:12:48,060 >> Belə ki, bir marşrutlaşdırma dəyişən hissələri əlavə etmək üçün, Siz qeyd bucaq bracket istifadə edin. 248 00:12:48,060 --> 00:12:51,220 Və isteğe, istifadə edə bilərsiniz nə converter deyirlər. 249 00:12:51,220 --> 00:12:56,840 Belə ki, bu qoymaq əgər nöqtə ilə annotasiya, 250 00:12:56,840 --> 00:13:00,015 Siz ki, müəyyən edə bilərsiniz bir int və ya float, və ya yol, 251 00:13:00,015 --> 00:13:01,640 və avtomatik olaraq çevirmək olacaq. 252 00:13:01,640 --> 00:13:05,130 Siz həmçinin dönüşüm edə bilərsiniz Python funksiyası ərzində 253 00:13:05,130 --> 00:13:09,710 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, 254 00:13:09,710 --> 00:13:12,080 ki, qoya bilər orada dönüşüm qayda. 255 00:13:12,080 --> 00:13:15,930 >> Belə ki, misal qoparmaq imkan Bəzi dəyişən qaydaları. 256 00:13:15,930 --> 00:13:21,480 Belə ki, burada, bu əsas eyni var Flask idxal ilə strukturu 257 00:13:21,480 --> 00:13:25,030 Flask, app = Flask (_name_) və sonra sonunda çalışan. 258 00:13:25,030 --> 00:13:28,050 Biz bu iki müxtəlif var Burada dəyişən marşrutları. 259 00:13:28,050 --> 00:13:29,900 Və ilk biridir Mən göstərdi bir 260 00:13:29,900 --> 00:13:34,230 idi slayd-ci ildə yalnız bir string adı alır 261 00:13:34,230 --> 00:13:35,650 və bu adı Salam çap edəcək. 262 00:13:35,650 --> 00:13:41,410 >> Və sonra, ikinci bir dönüşüm istifadə edir. 263 00:13:41,410 --> 00:13:44,690 Belə ki, bu avtomatik olaraq konvertasiya edəcək bir int və sonra, int ikiqat 264 00:13:44,690 --> 00:13:46,150 və çap. 265 00:13:46,150 --> 00:13:48,220 Və biz hər cür yoxdur ərzində dönüşüm 266 00:13:48,220 --> 00:13:49,594 Flask ki, qayğı tələb edir, çünki. 267 00:13:49,594 --> 00:13:53,181 Belə ki, bu çalışan əldə edək. 268 00:13:53,181 --> 00:13:54,930 Bir Flask zaman proqram çalışan, 269 00:13:54,930 --> 00:13:58,440 siz out-C nəzarət edə bilərsiniz server çalışan dayandırmaq. 270 00:13:58,440 --> 00:14:02,420 Və sonra mən dəyişənlərin davam edəcək. 271 00:14:02,420 --> 00:14:11,740 >> Belə ki, localhost / salam / Ezra gedək və ümid edirəm ki, bu, mənə salam demək olacaq. 272 00:14:11,740 --> 00:14:14,530 273 00:14:14,530 --> 00:14:20,310 >> Belə ki, dəyişən, mənim ad aldı marşrutu və burada onu doldurdu. 274 00:14:20,310 --> 00:14:23,950 Mən də tez göstərmək lazımdır misli nümunəsi. 275 00:14:23,950 --> 00:14:28,600 Belə ki, 3 / ikiqat / getmək əgər, 6 çap edəcək. 276 00:14:28,600 --> 00:14:31,440 Belə ki, bu qayğı bizim üçün dönüşüm. 277 00:14:31,440 --> 00:14:34,190 >> Belə ki, siz də bunu edə bilərsiniz float və xüsusi bir şey, 278 00:14:34,190 --> 00:14:37,530 Siz kimi bir şey müəyyən etmək lazımdır, əgər Bu slashes qəbul imkan verir ki, yol, 279 00:14:37,530 --> 00:14:39,155 lakin adətən bir məsələ olmamalıdır. 280 00:14:39,155 --> 00:14:41,480 281 00:14:41,480 --> 00:14:43,820 Bu günə qədər hələ də var yalnız qaytarılması edilmişdir 282 00:14:43,820 --> 00:14:46,320 çox maraqlı deyil strings. 283 00:14:46,320 --> 00:14:48,730 >> Biz, həqiqətən, qayıtmaq bilər hərfi HTML string. 284 00:14:48,730 --> 00:14:54,322 Belə ki, kodu, biz bir şey əlavə edə bilərsiniz b-tag qalın etmək kimi, 285 00:14:54,322 --> 00:14:56,030 lakin çox vaxt sizə həqiqətən istəmirəm 286 00:14:56,030 --> 00:14:58,420 HTML kodu yazılı olmaq Sizin Python kodu. 287 00:14:58,420 --> 00:15:01,940 Bu, həqiqətən messy olur və yaxşı bir zaman deyil. 288 00:15:01,940 --> 00:15:06,430 >> Flask bizə ayırmaq üçün imkan verir Şablon deyirlər nə HTML, 289 00:15:06,430 --> 00:15:09,467 və əgər belə düşünür MVC model baxımından 290 00:15:09,467 --> 00:15:11,550 Siz ilə tanış olduğunu, ümid edirəm ki, iş 291 00:15:11,550 --> 00:15:15,520 CS50 Maliyyə bir az, Siz Python faylları hesab edə bilər 292 00:15:15,520 --> 00:15:19,430 Controller, daha kimi Onlar nə ilə əlaqə ki, 293 00:15:19,430 --> 00:15:20,970 siz ola bilər data model. 294 00:15:20,970 --> 00:15:24,900 >> Və onlar Ziyarət zəng ki, Baxmaq üçün məlumat keçən 295 00:15:24,900 --> 00:15:28,120 məlumat doldurmaq üçün HTML bu lazımdır. 296 00:15:28,120 --> 00:15:30,490 Və biz o Views dediyimiz sinif Şablonlar var. 297 00:15:30,490 --> 00:15:35,280 >> Belə ki, Flask bir Python istifadə edir modul ki, avtomatik olaraq 298 00:15:35,280 --> 00:15:38,620 Yüklemek Pip zaman bərpa Flask Jinja, adlı 299 00:15:38,620 --> 00:15:40,885 Siz bu əlavə imkan verir HTML notları 300 00:15:40,885 --> 00:15:45,140 Siz ekranda görmək ki, ki, imkan verir ki, Siz, conditionals kimi şeylər qoymaq 301 00:15:45,140 --> 00:15:47,230 və HTML daxil loops. 302 00:15:47,230 --> 00:15:51,140 >> Belə ki, necə kimi bir az görünür HTML fayl ərzində PHP istifadə edə bilər, 303 00:15:51,140 --> 00:15:57,380 lakin bu yalnız zaman Flask deyil server, HTML fayl xidmət 304 00:15:57,380 --> 00:16:01,610 bu şablonu mühərrik davam edəcək və Bu vasitəsilə analiz və şeyi doldurun. 305 00:16:01,610 --> 00:16:06,650 Belə ki, Flask bir render_template funksiyası var Burada altındakı görmək olar ki,. 306 00:16:06,650 --> 00:16:14,300 Və belə ki, onu bu səhifəni ziyarət zaman Bu hello.html Şablon edərlər, 307 00:16:14,300 --> 00:16:16,407 və sonra bu HTML page doldurun. 308 00:16:16,407 --> 00:16:18,990 Belə ki, yalnız bu real run bildirin tez və bu kimi görünür nə, 309 00:16:18,990 --> 00:16:21,198 və sonra bir keçmək lazımdır daha ətraflı az. 310 00:16:21,198 --> 00:16:25,380 311 00:16:25,380 --> 00:16:30,260 Belə ki, Templates gedir bir Templates qovluğunda gedin. 312 00:16:30,260 --> 00:16:33,980 Bu avtomatik olaraq ərzində görünür Şablonlar ki Şablon qovluq. 313 00:16:33,980 --> 00:16:35,615 Belə ki, bu açmaq bildirin. 314 00:16:35,615 --> 00:16:47,350 315 00:16:47,350 --> 00:16:50,005 Belə ki, mən şablonu nümunə run lazımdır. 316 00:16:50,005 --> 00:16:52,820 317 00:16:52,820 --> 00:17:03,660 >> Belə ki, I / salam / Ezra getmək əgər, Bu dəhşətli var, 318 00:17:03,660 --> 00:17:05,930 Mən qoymaq obnoxious çadır tag. 319 00:17:05,930 --> 00:17:08,050 Çox gözəl, çox dinamik. 320 00:17:08,050 --> 00:17:09,349 Mən böyük bir fan deyiləm. 321 00:17:09,349 --> 00:17:13,900 Amma nə olur Mən yalnız / salam getmək? 322 00:17:13,900 --> 00:17:15,220 Belə ki, yalnız Hello World deyir. 323 00:17:15,220 --> 00:17:17,678 Mən bir ad keçir etməyib avtomatik olaraq doldurulur. 324 00:17:17,678 --> 00:17:22,050 Belə ki, necə görək, necə biz bəlkə çadır xilas edə bilərsiniz. 325 00:17:22,050 --> 00:17:26,240 >> Belə ki, burada, bu cür edir maraqlı bir nümunə, 326 00:17:26,240 --> 00:17:29,101 Siz necə keçid ilə tanış olduqda hesabatları dilində çalışır. 327 00:17:29,101 --> 00:17:31,350 Bu kimi sort demək bir payız ki, sort, 328 00:17:31,350 --> 00:17:34,266 burada əslində iki əlavə eyni funksiyası müxtəlif marşrutları. 329 00:17:34,266 --> 00:17:41,190 Beləliklə, biz / salam marşrutu əlavə və Xoşgəldiniz / salam / adı marşrutu 330 00:17:41,190 --> 00:17:45,130 Python sizə imkan verir etmirsiniz və biz müəyyən default funksiyası arqumentlər daxil 331 00:17:45,130 --> 00:17:48,300 belə ki, heç adı, belə ki, var, əgər biz getmək əgər yalnız / hello, 332 00:17:48,300 --> 00:17:50,680 avtomatik olaraq filtreler adı None bərabərdir. 333 00:17:50,680 --> 00:17:55,010 >> Beləliklə, biz göstərmək Name = adı ilə şablon, 334 00:17:55,010 --> 00:17:59,510 belə ki, adı parametr keçiriləcək bu ad funksiyası parametr bərabər, 335 00:17:59,510 --> 00:18:00,730 Şablon daxil. 336 00:18:00,730 --> 00:18:04,040 Necə ki, hələ izah etmir Hello World çap qərar qəbul, 337 00:18:04,040 --> 00:18:05,100 və ya mənim ad çap. 338 00:18:05,100 --> 00:18:08,050 Belə ki, həqiqətən baxaq Şablon özü, 339 00:18:08,050 --> 00:18:11,610 ki, gələn harada görmək. 340 00:18:11,610 --> 00:18:18,680 >> Belə ki, bu Şablon ərzində biz həqiqətən bir şərti məntiq var, 341 00:18:18,680 --> 00:18:20,580 olan bəzi insanlar ki, mübahisə, həqiqətən, 342 00:18:20,580 --> 00:18:23,730 şərti bir çox olmamalıdır Sizin Şablon daxilində məntiq. 343 00:18:23,730 --> 00:18:26,310 Bu ərzində daha çox olmalıdır Controller, lakin bu, məsələn 344 00:18:26,310 --> 00:18:27,476 Bu olduqca kiçik bir şey var. 345 00:18:27,476 --> 00:18:31,060 Adı Odur ki, biz, belə ki, yoxlamaq əgər adı None bərabər deyil, 346 00:18:31,060 --> 00:18:33,130 bir ad əslində əgər , sonra biz edəcək keçdi 347 00:18:33,130 --> 00:18:36,210 ilə adı, Hello demək header və çadır, 348 00:18:36,210 --> 00:18:41,490 Bütün bu normal HTML, başqa, biz Hello çap, Dünya yalnız normal. 349 00:18:41,490 --> 00:18:45,820 Belə ki, bir neçə şey burada qeyd etmək Siz şablonu format haqqında, 350 00:18:45,820 --> 00:18:49,110 bu ki, bütün şərti hesabatları 351 00:18:49,110 --> 00:18:54,475 sort kimi biz bunu zaman PHP necə Bəzi PHP daxil etmək istəyirəm, 352 00:18:54,475 --> 00:18:58,380 az-dən istifadə sual mark, burada sort analoji var 353 00:18:58,380 --> 00:19:00,140 {% ilə. 354 00:19:00,140 --> 00:19:02,130 >> Belə ki, burada, biz şərti kodu var. 355 00:19:02,130 --> 00:19:05,920 Və sonra, həqiqətən, istədiyiniz zaman sanki bir şey qiymətləndirmək və çap 356 00:19:05,920 --> 00:19:08,710 ekran həyata, siz ikiqat aşırma istifadə edin. 357 00:19:08,710 --> 00:19:12,310 Belə ki, burada ikili aşırma var, sonra biz adını daxil, 358 00:19:12,310 --> 00:19:15,500 ki çərçivəsində belə ki, qiymətləndirəcək dəyişən adı, hansı 359 00:19:15,500 --> 00:19:18,860 dən köçürdü , şablon funksiyası göstərmək 360 00:19:18,860 --> 00:19:21,484 deyil, yalnız çap çox həyata, biz bu xilas əgər, 361 00:19:21,484 --> 00:19:23,150 yalnız söz çap olardı "adı". 362 00:19:23,150 --> 00:19:26,340 Belə ki, üçün izləmək üçün bir şey var. 363 00:19:26,340 --> 00:19:29,792 >> Belə ki, başqa bir şey üçün bildiriş zaman biz ki, 364 00:19:29,792 --> 00:19:31,500 istifadə etmək istədiyiniz render_template funksiyası, 365 00:19:31,500 --> 00:19:34,490 biz, həqiqətən, idxal var Bu aydın Flask olan. 366 00:19:34,490 --> 00:19:36,915 Bu nümunəsidir kolba modularity, 367 00:19:36,915 --> 00:19:39,290 idxal yoxdur ki, Əgər ehtiyac yoxdur şeylər. 368 00:19:39,290 --> 00:19:41,290 Siz yalnız gətirə bilər funksiyaları həqiqətən 369 00:19:41,290 --> 00:19:43,450 bəzən olan lazımdır gözəl, belə ki, yoxdur 370 00:19:43,450 --> 00:19:46,560 bütün bu funksiyaları var Siz istifadə etdiyiniz ətrafında oturan, 371 00:19:46,560 --> 00:19:49,730 həm də, siz ki, unutmaq əgər render_template idxal lazımdır, 372 00:19:49,730 --> 00:19:52,660 Siz yəqin ki, bir xəbərdarlıq almaq lazımdır ki, bu barədə bildirin edəcək. 373 00:19:52,660 --> 00:19:56,700 Belə ki, şablonu var. 374 00:19:56,700 --> 00:20:01,680 >> Belə ki, biz necə göstərilən etdik , sadə web pages yaratmaq 375 00:20:01,680 --> 00:20:04,947 və bir az daha məntiq əlavə Bu, dəyişən marşrutlaşdırma baxımından. 376 00:20:04,947 --> 00:20:08,280 Bu əsasında müxtəlif şeyə imkan verir nə sonra da getmək və URL verir 377 00:20:08,280 --> 00:20:11,950 HTML bir az daha mənada hər şeyi göstərmək istəyirəm necə şərtləri. 378 00:20:11,950 --> 00:20:14,210 Siz bütün qoymaq yoxdur Sizin Python HTML, 379 00:20:14,210 --> 00:20:16,640 lakin olduqca çox üçün hər web proqram, 380 00:20:16,640 --> 00:20:21,480 Siz bir növ istəyirəm olacaq data model ilə bağlı. 381 00:20:21,480 --> 00:20:25,560 >> Və belə Ənənəvi olaraq, bu ki bir SQL verilənlər bazası kimi bir şey ola bilər. 382 00:20:25,560 --> 00:20:30,280 Və yalnız qarşılıqlı bilər birbaşa SQL ilə. 383 00:20:30,280 --> 00:20:32,190 Python var Mən deyirlər edirəm. 384 00:20:32,190 --> 00:20:33,040 SQLite 3. 385 00:20:33,040 --> 00:20:38,454 Siz yalnız SQLite 3 idxal edə bilər və birbaşa SQL sorğu icra 386 00:20:38,454 --> 00:20:40,870 lakin Mən sizi bilmirəm, lakin mən, həqiqətən, yalnız kimi deyil 387 00:20:40,870 --> 00:20:42,750 SQL queries yazılı. 388 00:20:42,750 --> 00:20:45,350 Bu, həqiqətən almaq üçün çalışır uzun və mürəkkəb. 389 00:20:45,350 --> 00:20:49,180 >> Belə ki, bir şey ki, Mən istifadə var nə kimi 390 00:20:49,180 --> 00:20:53,610 bir bir ORM kimi tanınan obyekt-relational mapping. 391 00:20:53,610 --> 00:20:56,890 Və bir point obyekt-relational mapping, 392 00:20:56,890 --> 00:21:00,100 iki müxtəlif var ki yolları verilənlər bazası haqqında düşünmək olar. 393 00:21:00,100 --> 00:21:03,240 >> Məsələn Belə ki, Professor Malan adətən 394 00:21:03,240 --> 00:21:07,660 sinif istifadə Excel masa edir bu satır və bu sütun var, 395 00:21:07,660 --> 00:21:10,210 və bunun üçün həqiqətən faydalıdır Bu SQL təmsil olunur necə 396 00:21:10,210 --> 00:21:13,170 və bu ilə qarşılıqlı necə, lakin Bu həqiqətən başqa bir yol 397 00:21:13,170 --> 00:21:16,390 bəzən bu barədə düşünmək faydalı, Dərslər və obyektləri baxımından. 398 00:21:16,390 --> 00:21:20,420 >> Belə ki, əvəzinə düşüncə hər bir masa olan kimi 399 00:21:20,420 --> 00:21:23,040 müəyyən var ki, bu sıra məlumat, həqiqətən bilərsiniz 400 00:21:23,040 --> 00:21:26,100 olan kimi hesab Hər bir masa bir sinif, 401 00:21:26,100 --> 00:21:29,810 və sonra hər instansiya class müəyyən xüsusiyyətləri var. 402 00:21:29,810 --> 00:21:35,110 Belə ki, bu nümunə, hallarda sinif cədvəldə satır var, 403 00:21:35,110 --> 00:21:37,490 və sonra hər mülkiyyət ki cədvəldə bir sütun ola bilər. 404 00:21:37,490 --> 00:21:40,840 >> Belə ki, mən istəyirəm ORM peewee adlanır istifadə etmək. 405 00:21:40,840 --> 00:21:43,520 Bu növ Flask kimi, həqiqətən kiçik. 406 00:21:43,520 --> 00:21:46,760 Mən onlar birlikdə getmək ki, hesab edirəm ki, lakin digər ORMs bir çox var 407 00:21:46,760 --> 00:21:47,730 istifadə edə bilərsiniz ki. 408 00:21:47,730 --> 00:21:52,180 Daha məşhur biridir SQLAlchemy kimi tanınan, 409 00:21:52,180 --> 00:21:56,050 Mən niyə ilk xatırlayıram bilməz , SQLAlchemy üzərində peewee seçdi 410 00:21:56,050 --> 00:21:58,311 və ya mən sizə niyə demək istəyirəm ən yaxşı biri hesab edirəm ki, 411 00:21:58,311 --> 00:22:01,060 lakin biz yalnız bu istifadə etmək olacaq Mən istifadə etmək necə çünki. 412 00:22:01,060 --> 00:22:04,760 >> Belə ki, bir sual, niyə Bir ORM istifadə narahat olmalıdır, 413 00:22:04,760 --> 00:22:07,552 əvəzinə yalnız birbaşa SQL queries yazılı? 414 00:22:07,552 --> 00:22:09,760 Mən ən yaxşı halda hesab edirəm ki, Siz, həqiqətən, yoxdur ki, 415 00:22:09,760 --> 00:22:11,356 SQL queries yazmaq lazımdır. 416 00:22:11,356 --> 00:22:14,480 Mən sizə göstərmək lazımdır kimi Bu, çox asandır seçim kimi şeylər, durub, 417 00:22:14,480 --> 00:22:16,157 silinməsi, xüsusilə masalar yaradılması. 418 00:22:16,157 --> 00:22:17,990 Bu çox asandır bir sinif strukturu yazmaq, 419 00:22:17,990 --> 00:22:22,250 Bu strukturu daha yarat Cədvəl Şərhdə, lakin bir şey 420 00:22:22,250 --> 00:22:25,710 , xəbərdar olmaq ki, ORM ən yaxşı çalışacağıq 421 00:22:25,710 --> 00:22:28,640 anlamaq üçün nə ən səmərəli SQL sorğu olacaq 422 00:22:28,640 --> 00:22:30,110 lakin bəzən yanlış olur. 423 00:22:30,110 --> 00:22:32,660 >> Və etdiyiniz xüsusilə böyük bazası ilə iş, 424 00:22:32,660 --> 00:22:35,557 Bir sorğu ki, qeyd edə bilər ki, sürətli çalışan olmalıdır 425 00:22:35,557 --> 00:22:36,640 həqiqətən artıq edir. 426 00:22:36,640 --> 00:22:40,164 Və necə başlıq altında baxsaq ORM, SQL ki, tərcümə olunur 427 00:22:40,164 --> 00:22:42,080 bir şey bunu bilər həqiqətən gülməli, 428 00:22:42,080 --> 00:22:44,371 yalnız sort çünki Sizin niyyət səhv işarə. 429 00:22:44,371 --> 00:22:48,080 Və dəfə burada olub Mən bunu yalnış idi və yalnız sonra 430 00:22:48,080 --> 00:22:52,429 yalnız öz SQL queries icra Bu qəribə bir şəkildə təhlil edildi. 431 00:22:52,429 --> 00:22:54,220 Belə ki, orada bəzi yalnız yol, yerüstü 432 00:22:54,220 --> 00:22:58,680 Bu tərtib ki, sizin SQL daxil aşağı hesabatları. 433 00:22:58,680 --> 00:23:06,200 >> Belə ki, tez super baxaq bir veri model bir sadə misal 434 00:23:06,200 --> 00:23:07,350 Siz istifadə edə bilər ki,. 435 00:23:07,350 --> 00:23:11,880 Belə ki, bu Python kodu, və Siz istədiyiniz ilk şey edir 436 00:23:11,880 --> 00:23:12,950 peewee idxal *. 437 00:23:12,950 --> 00:23:15,850 Belə ki, Flask fərqli olaraq siz harada Bütün bu fərdi modulları, 438 00:23:15,850 --> 00:23:18,125 və Flask idxal etmək istəyirik və Şablon və bəzi başqaları yazmaq 439 00:23:18,125 --> 00:23:20,690 Biz sonra görəcəksiniz ki, Peewee olan, yalnız hər şeyi edə bilərsiniz 440 00:23:20,690 --> 00:23:22,290 çünki bu, olduqca kiçik bir kitabxana var. 441 00:23:22,290 --> 00:23:26,490 >> Belə ki, Siz istədiyiniz ilk şey, həqiqətən, bu verilənlər bazası obyekt yaratmaq. 442 00:23:26,490 --> 00:23:31,212 Belə ki, siz db = SqliteDatabase, və sonra bazası adı. 443 00:23:31,212 --> 00:23:33,170 Bu, həqiqətən, iradə bir verilənlər bazası obyekt yaratmaq 444 00:23:33,170 --> 00:23:36,230 Siz Peewee ilə qarşılıqlı bilər. 445 00:23:36,230 --> 00:23:40,570 >> Və sonra, biz faktiki var yaratmaq istəyirik model. 446 00:23:40,570 --> 00:23:42,470 Belə ki, masa yaratmaq istəyirik. 447 00:23:42,470 --> 00:23:47,270 Belə ki, Peewee ərzində, hər bir sinif var bazası ərzində öz masa. 448 00:23:47,270 --> 00:23:52,800 Belə ki, dərsləri bütün baza model varis, 449 00:23:52,800 --> 00:23:55,960 və kapital M model peewee müəyyən bir şey. 450 00:23:55,960 --> 00:24:02,162 >> Belə ki, sizin modelləri bütün olmalıdır onların yüksək superclass kimi varis, 451 00:24:02,162 --> 00:24:04,620 onlar varis lazımdır model, lakin həqiqətən sərin var nə, 452 00:24:04,620 --> 00:24:07,610 Siz, həqiqətən, sizin ola bilər ki, modelləri bir-birindən irs. 453 00:24:07,610 --> 00:24:10,530 Və çox vaxt, sizin data modelləri mütləq deyil 454 00:24:10,530 --> 00:24:13,754 gözəl miras iyerarxiya, lakin onlar harada dəfə, bu, həqiqətən gözəl 455 00:24:13,754 --> 00:24:15,920 Siz model var, çünki bir-birindən xas. 456 00:24:15,920 --> 00:24:19,710 >> Belə ki, biz bu sinif müəyyən Bir model vərəsəlik "şagird", 457 00:24:19,710 --> 00:24:21,170 və üç xüsusiyyətləri var. 458 00:24:21,170 --> 00:24:24,080 Bu ki, bir ID var bir PrimaryKeyField olan 459 00:24:24,080 --> 00:24:26,920 təqdim ki, bir şey deyil Peewee, adı Charfield deyil, 460 00:24:26,920 --> 00:24:28,490 və bir sinif bir IntegerField edir. 461 00:24:28,490 --> 00:24:32,260 Belə ki, bu və ya ola bilər necə CS50 həqiqətən bütün mağazalar 462 00:24:32,260 --> 00:24:33,650 tələbələrin notları. 463 00:24:33,650 --> 00:24:36,060 Bu deyil, lakin bu, mən bunu necə edir. 464 00:24:36,060 --> 00:24:37,920 >> Və sonra ərzində var Bu sinif və bu 465 00:24:37,920 --> 00:24:41,620 Siz edə bilərsiniz bir şeydir Python, siz nested dərsləri ola bilər. 466 00:24:41,620 --> 00:24:43,920 Bu bir şey deyil ki peewee tələb olunur. 467 00:24:43,920 --> 00:24:47,250 Belə ki, bu sinif Meta, siz verilənlər bazası ki, müəyyən etmək üçün 468 00:24:47,250 --> 00:24:49,830 obyekt bərabər Yuxarıda yaratdığı. 469 00:24:49,830 --> 00:24:54,339 Bu fayl bu masa nə deyir həqiqətən olan olacaq. 470 00:24:54,339 --> 00:24:57,130 Belə ki, bu bir şey deyil Sizin modelləri bütün ərzində etmək. 471 00:24:57,130 --> 00:24:59,380 Siz yalnız müəyyən etmək Bu Meta sinif daxilində 472 00:24:59,380 --> 00:25:01,400 ki, verilənlər bazası db bərabərdir. 473 00:25:01,400 --> 00:25:03,940 Mən əgər mən adətən nə müxtəlif modelləri bir dəstə, 474 00:25:03,940 --> 00:25:05,910 Mən bir baza var model, Mən adətən 475 00:25:05,910 --> 00:25:08,839 yalnız "baza model" zəng ki, Meta sinif var, 476 00:25:08,839 --> 00:25:10,380 və DB bərabər bazası edir. 477 00:25:10,380 --> 00:25:13,710 Və mənim sonrakı modelləri sonra bütün ki, baza sinif varis edəcək. 478 00:25:13,710 --> 00:25:16,760 Və sonra mən narahat yoxdur Meta sinif yaradılması haqqında. 479 00:25:16,760 --> 00:25:21,490 >> Belə ki, bu, həqiqətən, olur bir SQL bəyanat daxil aşağı tərtib, 480 00:25:21,490 --> 00:25:24,875 aşağı bu murdar şey kimi görünür Burada, "masa tələbə ID tam yaradın 481 00:25:24,875 --> 00:25:26,020 "Nə. 482 00:25:26,020 --> 00:25:30,002 >> Və mən bu qısa hesab edir ki, burada bu SQL sorğu, 483 00:25:30,002 --> 00:25:32,960 ancaq burada bu sinif baxsaq Siz gedən dəqiq nə edə bilərsiniz. 484 00:25:32,960 --> 00:25:36,116 Siz yataqlarının nə növ edə bilərsiniz onlar adlanır nə var, 485 00:25:36,116 --> 00:25:38,115 və mən hesab edirəm ki, Bu Python kodu baxaraq 486 00:25:38,115 --> 00:25:43,340 daha çox oxunaqlı Bu SQL sorğu yazmaq üçün çalışırıq. 487 00:25:43,340 --> 00:25:45,990 >> Belə ki, üçün həqiqətən verilənlər bazası istifadə, 488 00:25:45,990 --> 00:25:48,470 biz Python ərzində qoşulmaq lazımdır. 489 00:25:48,470 --> 00:25:52,770 Belə ki, mən adətən adlı funksiyası yazmaq iki şeyi edir initialize_db. 490 00:25:52,770 --> 00:25:54,880 Bu verilənlər bazası edir object db və 491 00:25:54,880 --> 00:25:58,360 yalnız açan, onu birləşdirir verilənlər bazası bölməsinə qədər. 492 00:25:58,360 --> 00:26:00,860 Siz yalnız baxmayaraq çalıştırıyorsanız yerli maşın haqqinda, 493 00:26:00,860 --> 00:26:04,320 Bu narahat bir super böyük deyil birləşdirən və ayırıcı haqqında 494 00:26:04,320 --> 00:26:06,885 ancaq çalışan əgər Bir web, siz 495 00:26:06,885 --> 00:26:10,010 əmin zaman bir istifadəçi, əmin etmək istəyirəm Onlar yaxın zaman, bu bağlanır 496 00:26:10,010 --> 00:26:12,270 bax, onlar belə ayırmaq siz bağlı bir dəstə yoxdur 497 00:26:12,270 --> 00:26:14,480 Sizin bazasında bütün bir dəfə. 498 00:26:14,480 --> 00:26:16,370 >> Və sonra, zaman bazasında bağlanmak, 499 00:26:16,370 --> 00:26:20,832 Siz db.create_tables zəng etmək istəyirəm və istədiyiniz üçün modellər siyahısı 500 00:26:20,832 --> 00:26:21,540 masalar yaratmaq. 501 00:26:21,540 --> 00:26:23,950 Belə ki, burada, mən yalnız istəyirəm Bu tələbə üçün yaratmaq. 502 00:26:23,950 --> 00:26:28,070 Və sonra, vacibdir nə, edir təhlükəsiz = True çox vaxt müəyyən. 503 00:26:28,070 --> 00:26:30,380 Belə ki, nə bu bəyanat edəcəyik, bu idimi 504 00:26:30,380 --> 00:26:33,580 üçün masalar yaradır tələbə model, lakin yalnız 505 00:26:33,580 --> 00:26:36,109 ki, masa deyil, əgər artıq yaradılmışdır. 506 00:26:36,109 --> 00:26:37,400 Nə təhlükəsiz əsasən xüsusi var. 507 00:26:37,400 --> 00:26:39,150 Belə ki, yazmaq olmaz Mövcud masa, 508 00:26:39,150 --> 00:26:41,525 Yalnız bir yeni yaradacaq masa yoxdur bir olarsa. 509 00:26:41,525 --> 00:26:45,090 Belə ki, yalnız yarada bilər masalar bir SQL istifadə edərək. 510 00:26:45,090 --> 00:26:49,410 Və sonra bazası oturan orada, sonra hər dəfə qoşulmaq, 511 00:26:49,410 --> 00:26:52,450 lakin bu, yalnız adətən gözəl bu create_tables zəng qoymaq, 512 00:26:52,450 --> 00:26:55,550 belə ki, heç silmək əgər sizin verilənlər bazası zaman web run 513 00:26:55,550 --> 00:26:57,960 app yenidən, bu yeniden olacaq. 514 00:26:57,960 --> 00:27:00,730 >> Belə ki, yalnız təhlükəsiz əmin olun True olmaq üçün müəyyən edilir, 515 00:27:00,730 --> 00:27:03,580 və ya sadəcə sizin data tapa hər zaman clobbered almaq. 516 00:27:03,580 --> 00:27:06,380 Və sonra, yalnız zəng edə bilərsiniz yaratmaq initialize_db 517 00:27:06,380 --> 00:27:09,820 əlaqə və yaratmaq masalar zəruri hallarda. 518 00:27:09,820 --> 00:27:13,150 >> Belə ki, ən ümumi şey Siz nə etmək istəyirəm ki, 519 00:27:13,150 --> 00:27:15,920 və ya ən ümumi şeyi biridir, həqiqətən şeyi daxil edir 520 00:27:15,920 --> 00:27:17,170 Sizin bazasında. 521 00:27:17,170 --> 00:27:19,430 Belə ki, daha çox olan INTO bir daxil yazmaq 522 00:27:19,430 --> 00:27:21,990 bütün bəyanatı dəyərləri müəyyən, 523 00:27:21,990 --> 00:27:24,650 Siz, həqiqətən, zəng edə bilərsiniz tələbə sinif fəaliyyət göstərir. 524 00:27:24,650 --> 00:27:28,200 Belə ki, bir sinif bilən ki, model vərəsəlik 525 00:27:28,200 --> 00:27:30,200 Bu metodu yaratmaq var. 526 00:27:30,200 --> 00:27:33,870 >> Belə ki, sinif name.create etmək, və parametrləri daxil 527 00:27:33,870 --> 00:27:35,260 Siz keçmək istəyirəm. 528 00:27:35,260 --> 00:27:39,200 Belə ki, mən bəzi şagirdlər əlavə etmək istəyirsinizsə Bizim CS50 grade kitab Məsələn, 529 00:27:39,200 --> 00:27:41,820 Mən kim var David qoymaq lazımdır çox yaxşı dərəcəli, o, 95 var. 530 00:27:41,820 --> 00:27:45,100 Və özümü, kim bunu deyil belə də CS50, mən bir 50 var. 531 00:27:45,100 --> 00:27:47,600 Belə ki, gözəl şey haqqında Bu yaratmaq funksiyası nə, 532 00:27:47,600 --> 00:27:53,040 Bu instansiya qaytarır, və ya ki, satır, masa çərçivəsində yaradılmış ki, 533 00:27:53,040 --> 00:27:55,750 və belə sonra bir ki, saxlamaq dəyişən və daha sonra iş. 534 00:27:55,750 --> 00:27:58,830 Siz ətrafında dəyişə bilərsiniz olan Mən bir nümunə göstərmək lazımdır. 535 00:27:58,830 --> 00:28:03,050 >> Mən deyil ki, qeyd ID müəyyən etmək, 536 00:28:03,050 --> 00:28:09,340 Bu ildən çünki PrimaryKeyField, avtomatik olaraq edəcək 537 00:28:09,340 --> 00:28:10,930 Siz daxil deyil, əgər arttırmayı. 538 00:28:10,930 --> 00:28:12,250 Və əslində, yəqin ki, Onu müəyyən deyil, 539 00:28:12,250 --> 00:28:14,810 Siz təsadüfən bilər, çünki Başqasının ID döymək. 540 00:28:14,810 --> 00:28:16,830 Və etmək istəyirəm Bu unikal əmin olun. 541 00:28:16,830 --> 00:28:20,662 >> Belə ki, həqiqətən, ən Siz istədiyiniz ümumi şey, 542 00:28:20,662 --> 00:28:22,620 yəqin ki, seçin Siz bir dəfə bazasının 543 00:28:22,620 --> 00:28:24,078 orada bir çox informasiya var. 544 00:28:24,078 --> 00:28:27,360 Belə ki, hər şey almaq istəyirsinizsə, belə seçin ulduz ekvivalent 545 00:28:27,360 --> 00:28:30,940 tələbələr şərhdə, onu yalnız student.select olardı. 546 00:28:30,940 --> 00:28:34,380 Və bir sıra sizə geri verəcək şagirdin bütün bu obyektlərin 547 00:28:34,380 --> 00:28:35,770 Siz üzərində təkrarlamaq ki, istəyirəm. 548 00:28:35,770 --> 00:28:37,019 Siz şeyi əldə edə bilərsiniz. 549 00:28:37,019 --> 00:28:39,310 Və çox vaxt, siz yalnız seçin etmək istəmirəm, 550 00:28:39,310 --> 00:28:40,935 Siz, həqiqətən, bir şey ifadə etmək istəyirəm. 551 00:28:40,935 --> 00:28:44,580 Belə ki, siz zəncir bilərsiniz birlikdə bu funksiyası zənglər, 552 00:28:44,580 --> 00:28:48,830 necə zəncir olduğu kimi SQL birlikdə hesabatları. 553 00:28:48,830 --> 00:28:53,002 Belə ki,) (student.select edə bilərsiniz. Harada Bu misalda. 554 00:28:53,002 --> 00:28:54,710 Və sonra, siz şərait müəyyən 555 00:28:54,710 --> 00:28:57,880 yalnız normal Python istifadə Booleans şeyi yoxlamaq. 556 00:28:57,880 --> 00:29:02,110 >> Belə ki, bu halda, siz istəyirəm , siz seçilməsi ne məhdudlaşdırmaq 557 00:29:02,110 --> 00:29:06,790 student.grade 50 bərabər olduğu, və student.name, Ezra bərabərdir 558 00:29:06,790 --> 00:29:09,130 belə ki, yalnız mənə olacaq. 559 00:29:09,130 --> 00:29:11,340 Və həqiqətən, bir qeyd incə şey burada 560 00:29:11,340 --> 00:29:15,570 Siz müəyyən etmək istəyirsinizsə, ki, bir və / və ya və / və ya, 561 00:29:15,570 --> 00:29:19,840 Python, normal istifadə edir, Mən sözü "və" həqiqətən hesab edirəm ki, 562 00:29:19,840 --> 00:29:23,351 lakin burada bir işareti istifadə olan normal bir bitwise operator, 563 00:29:23,351 --> 00:29:25,600 lakin bu xüsusi halda, yalnız yol peewee yoxdur, 564 00:29:25,600 --> 00:29:27,660 Siz tək istifadə ampersand müəyyən "və s." üçün 565 00:29:27,660 --> 00:29:29,451 Ki, bir şey var ki, Mən bir çox qarışdırılır almaq, 566 00:29:29,451 --> 00:29:32,530 lakin bu gəlmək deyil praktikada çox. 567 00:29:32,530 --> 00:29:36,350 >> Və sonra, bir dəfə bütün var verilənlər bazası həyata tələbələr, 568 00:29:36,350 --> 00:29:39,420 görmüşük dəfə seçin istəyirik və geyimi və ya hər hansı, 569 00:29:39,420 --> 00:29:42,334 Bir foreach loop istifadə edə bilərsiniz, yalnız Python normal kimi 570 00:29:42,334 --> 00:29:44,500 iterator hər hansı ilə və ya serialın hər hansı ilə. 571 00:29:44,500 --> 00:29:46,333 Belə ki, s, edə bilərsiniz student.select da (). whe 572 00:29:46,333 --> 00:29:52,930 (Student.grade <75) və bu yenidən cədvəldə hər bir tələbə üzərində təkrarlamaq 573 00:29:52,930 --> 00:29:56,260 Onun grade az 75 olan bu halda, hələ də yalnız mənə deyil. 574 00:29:56,260 --> 00:29:59,218 Və sonra ərzində bir şey ola bilər ki loop kimi mənə bir e-poçt göndərmək 575 00:29:59,218 --> 00:30:01,680 və mənə həqiqətən demək Mənim Problem Sets açın. 576 00:30:01,680 --> 00:30:04,550 >> Belə ki, başqa bir şey edə bilərsiniz Bunu, bu, həqiqətən asan deyil 577 00:30:04,550 --> 00:30:06,460 masa çərçivəsində satır yeniləmə. 578 00:30:06,460 --> 00:30:08,720 Belə ki, burada geri xatırlayıram, Sizin mən daxil, 579 00:30:08,720 --> 00:30:11,440 Mən dəyər aldı student.create geri, 580 00:30:11,440 --> 00:30:14,920 Mən Ezra adlı adı onu təyin. 581 00:30:14,920 --> 00:30:18,995 Və indi, dəyişə bilərsiniz ki, məsələn ərzində dəyərlər, 582 00:30:18,995 --> 00:30:20,870 yalnız kimi ki, bir Python normal sinif. 583 00:30:20,870 --> 00:30:25,060 >> Belə ki, müəyyən edə bilərsiniz ezra.grade = 95 və ki, yerli surəti yeniləyir, 584 00:30:25,060 --> 00:30:28,380 lakin həqiqətən istəyirsinizsə verilənlər bazası ki, dəyişiklik törətmək, 585 00:30:28,380 --> 00:30:31,410 Siz ezra.save zəng etmək belə ki, saxla metodu adlanır 586 00:30:31,410 --> 00:30:32,650 instansiya. 587 00:30:32,650 --> 00:30:38,085 >> Və indi, uğurla dəyişib verilənlər bazası ərzində öz grade. 588 00:30:38,085 --> 00:30:41,210 Belə ki, sonra mən sakın ki, bildirin verilənlər bazası ərzində mənim dərəcəli dəyişir. 589 00:30:41,210 --> 00:30:44,126 Professor Malan yəqin ki, davam edir sinif məni silmək istəyirəm, 590 00:30:44,126 --> 00:30:48,630 və siz silin zəng edə bilərsiniz ki, yalnız şey instansiya üsulu. 591 00:30:48,630 --> 00:30:51,674 >> Istəyirdi Belə ki, getmək üçün geri bu loop burada, 592 00:30:51,674 --> 00:30:53,465 və həqiqətən yerinə e-poçt bütün göndərilməsi 593 00:30:53,465 --> 00:30:56,577 tələbə kimin grade az 75 çox, siz onları silmək istəyirdi, 594 00:30:56,577 --> 00:30:58,660 Bu loop ərzində bilər s.delete instansiya zəng. 595 00:30:58,660 --> 00:31:04,180 596 00:31:04,180 --> 00:31:07,780 Və Siz istədiyiniz son şey, Bir keçid yaratmaq zaman deyil, 597 00:31:07,780 --> 00:31:10,350 və sizin iş ilə tamamlayın Siz db.close zəng etmək istəyirəm 598 00:31:10,350 --> 00:31:13,190 burada db verilənlər bazası var biz əvvəl idi ki, etiraz. 599 00:31:13,190 --> 00:31:18,290 Və əmin etmək istəyirəm hər şey həyata bağladı olur. 600 00:31:18,290 --> 00:31:18,790 >> Cool. 601 00:31:18,790 --> 00:31:22,410 Belə ki, indi mən nümunə proqram. 602 00:31:22,410 --> 00:31:26,880 I növ yalnız hər şeyi əvvəlcədən etdik ki, hər hansı bir canlı kodlaşdırma olmayacaq 603 00:31:26,880 --> 00:31:30,220 səhvlər, lakin biz vasitəsilə gəzmək olar Bu və kolba qoymaq olardı necə 604 00:31:30,220 --> 00:31:33,685 və birlikdə peewee, və sadə app edir. 605 00:31:33,685 --> 00:31:38,680 Mən CS50 rant zəng və bu sadə bir blog platforma sort. 606 00:31:38,680 --> 00:31:41,150 >> Belə ki, ilk, mən onu run lazımdır və , bu kimi görünür nə göstərmək 607 00:31:41,150 --> 00:31:42,890 sonra biz kodu daxil daha baxmaq olar. 608 00:31:42,890 --> 00:32:00,470 609 00:32:00,470 --> 00:32:02,830 OK, belə ki, yalnız bu run edək. 610 00:32:02,830 --> 00:32:14,040 611 00:32:14,040 --> 00:32:17,250 Mən bu sərin etmək lazımdır bir az kiçik. 612 00:32:17,250 --> 00:32:20,000 Bu, sadəcə, çünki çox olduqca var Mən CSS bir çox etməyib 613 00:32:20,000 --> 00:32:23,255 lakin bu nə o edir blog bu bazası 614 00:32:23,255 --> 00:32:25,630 və bütün keçir onlara və bu onlara göstərilir 615 00:32:25,630 --> 00:32:28,170 Ən son sırasına səhifə. 616 00:32:28,170 --> 00:32:30,920 Və bu yalnız bir ismarıc var Mən bazasında saxlanılır ki,. 617 00:32:30,920 --> 00:32:35,680 >> Biz yeni yaratmaq istəyirsinizsə Belə ki, post, biz yeni bir yazı əlavə edə bilərsiniz 618 00:32:35,680 --> 00:32:42,720 və biz adı daxil edə bilərsiniz post, belə ki, bir şey kimi, CS50 seminar. 619 00:32:42,720 --> 00:32:45,360 620 00:32:45,360 --> 00:32:46,735 Wow, həqiqətən seminar zövq. 621 00:32:46,735 --> 00:32:51,070 622 00:32:51,070 --> 00:32:52,270 >> Cool. 623 00:32:52,270 --> 00:32:56,060 Sonra post basın və olacaq Əsas səhifəyə geri yönlendirme, 624 00:32:56,060 --> 00:33:00,039 və sonra ki, görürsünüz Son post əlavə edildi. 625 00:33:00,039 --> 00:33:01,580 Və biz hələ bütün olanları var. 626 00:33:01,580 --> 00:33:08,080 Belə ki, indi-nin bütün vasitəsilə addım imkan kodu və bu həyata necə. 627 00:33:08,080 --> 00:33:11,995 >> Belə ki, mən edək ilk şey hesab edirəm həqiqətən modelləri nəzər. 628 00:33:11,995 --> 00:33:14,120 Bir çox vaxt, zaman Əgər bir şey dizayn etdiyiniz, 629 00:33:14,120 --> 00:33:17,036 Siz necə haqqında ilk düşünmək istəyirəm Sizin data təmsil olacaq 630 00:33:17,036 --> 00:33:22,915 və sonra ətrafında şeyi dizayn, belə ki, hər şey əhəmiyyət kəsb edir. 631 00:33:22,915 --> 00:33:25,290 Və mən necə əslində Mən bu edilməsi zaman, bunu 632 00:33:25,290 --> 00:33:28,030 Mən oturdu və fikir Mən bir yazı nə istəyirsiniz. 633 00:33:28,030 --> 00:33:32,130 >> Belə ki, burada biz eyni struktur var Mən əvvəllər qeyd edilmişdir ki, 634 00:33:32,130 --> 00:33:33,755 biz db = Sqldatabase (posts.db) harada. 635 00:33:33,755 --> 00:33:37,840 636 00:33:37,840 --> 00:33:40,980 Əslində, siz yəqin ki, istəmirəm Sizin adı bazaları sərt kodu. 637 00:33:40,980 --> 00:33:43,730 Bu yəqin ki, bir parametri olmalıdır bəlkə, bir yerdə saxlanılır 638 00:33:43,730 --> 00:33:45,940 bir konfiqurasiya faylında, lakin oxşar kiçik bir nümunəsidir, 639 00:33:45,940 --> 00:33:48,310 bu ağır kodu OK. 640 00:33:48,310 --> 00:33:53,510 >> Belə ki, indi biz bu Post sinif, olan baza model vərəsəlik. 641 00:33:53,510 --> 00:33:56,930 Və yenə var ID = PrimaryKeyField. 642 00:33:56,930 --> 00:34:02,250 Əslində, siz müəyyən yoxsa, Mən, həqiqətən, bu xilas əgər, 643 00:34:02,250 --> 00:34:07,152 sonra biz qayğı olacaq peewee avtomatik olaraq ID sahəsində yaratmaq, 644 00:34:07,152 --> 00:34:09,360 və avtomatik olaraq edəcək bir PrimaryKey, edən 645 00:34:09,360 --> 00:34:12,485 Mən, çünki adətən, həqiqətən, gözəl hesab edirəm ki, siz istədiyiniz bir şey 646 00:34:12,485 --> 00:34:16,239 amma xüsusi onu qoymaq istəyirəm, yalnız mən orada var unutmayın. 647 00:34:16,239 --> 00:34:19,480 Amma siz ki, müəyyən yoxsa, avtomatik olaraq olacaq. 648 00:34:19,480 --> 00:34:22,198 >> Beləliklə, mən bir tarix var ki, bir DateTimeField və bütün 649 00:34:22,198 --> 00:34:24,864 bu müxtəlif sahələri, əgər peewee sənədlərin baxmaq, 650 00:34:24,864 --> 00:34:28,920 Bu müxtəlif siyahısını verəcəyik istifadə edə bilərsiniz sahələrində növləri. 651 00:34:28,920 --> 00:34:34,440 Çox hissəsi üçün, bu analoji var SQL görmək nə üçün. 652 00:34:34,440 --> 00:34:37,699 Belə ki, bir Charfield bir var VarCharFields, textfields, 653 00:34:37,699 --> 00:34:40,550 çox uzun olan var bir blog kimi mətnlər, 654 00:34:40,550 --> 00:34:44,460 potensial DateTimeFields, DoubleFields, FloatFields, 655 00:34:44,460 --> 00:34:46,100 kimi hər şeyi. 656 00:34:46,100 --> 00:34:51,570 >> Və digər dəlilləri keçə bilər bu, mən burada müəyyən etməyən. 657 00:34:51,570 --> 00:34:55,719 Say, misal üçün, istəmədi iki ismarışları eyni adı var imkan, 658 00:34:55,719 --> 00:34:59,672 Siz müəyyən edə bilər True unikal kimi bir şey = 659 00:34:59,672 --> 00:35:02,880 və yalnız əlavə parametr var Bu onu tərtib zaman sahə 660 00:35:02,880 --> 00:35:06,865 SQL, bu müəyyən edəcək Bu var ki, unikal olmaq üçün. 661 00:35:06,865 --> 00:35:09,740 Siz həmçinin kimi bir şey daxil edə bilərsiniz Biz null və bütün başqa şeylər 662 00:35:09,740 --> 00:35:11,750 Normal SQL yoxdur. 663 00:35:11,750 --> 00:35:16,020 Belə ki, bu olduqca sadə tarixi var model. 664 00:35:16,020 --> 00:35:19,460 DateTimeField ərzində burada edək, Mən default nə ifadə edildi. 665 00:35:19,460 --> 00:35:22,560 Mən onu müəyyən , datetime.datetime.now 666 00:35:22,560 --> 00:35:24,920 Çünki yol ki, Bu qiymətləndirdi olur, 667 00:35:24,920 --> 00:35:28,750 Bu, həqiqətən qiymətləndirir datetime.now zaman 668 00:35:28,750 --> 00:35:32,110 Bu verilənlər bazası daxil olur. 669 00:35:32,110 --> 00:35:34,760 >> Mən istədiyiniz hesab edirəm ki, Bu yoxlamaq üçün, 670 00:35:34,760 --> 00:35:38,222 lakin sonra, bu kimi bir şey idi əgər bu, həqiqətən, bir dəfə qiymətləndirirsiniz 671 00:35:38,222 --> 00:35:40,180 və sonra Datetime həmişə eyni olacaq. 672 00:35:40,180 --> 00:35:44,240 Belə ki, bir şey yapýyorsun yalnız əgər datetimes ilə ikiqat çek 673 00:35:44,240 --> 00:35:47,080 Bu zaman qiymətləndirən ki, həqiqətən başqa daxil, və ya əvvəl 674 00:35:47,080 --> 00:35:48,780 Siz səhv ola bilər. 675 00:35:48,780 --> 00:35:51,221 >> adı yalnız bir deyil Charfield, orada olan 676 00:35:51,221 --> 00:35:53,970 Siz keçə bilər daha arqumentlər var ifadə dəqiq nə qədər siz 677 00:35:53,970 --> 00:35:56,170 olmaq istəyirəm, lakin burada, bu, həqiqətən fərqi yox idi. 678 00:35:56,170 --> 00:35:58,687 Və Text olacaq bütün post mətn, 679 00:35:58,687 --> 00:36:01,020 ki, bir olacaq Siz istədiyiniz yalnız çünki TextField 680 00:36:01,020 --> 00:36:03,370 Bu olduqca uzun string olmaq üçün imkan. 681 00:36:03,370 --> 00:36:05,970 >> Sonra biz bu Meta var yarımsinif yalnız 682 00:36:05,970 --> 00:36:11,250 biz bazası istəyirəm ki, müəyyən Bu, həqiqətən qədər açılır harada 683 00:36:11,250 --> 00:36:14,267 Biz burada db obyekt olacaq. 684 00:36:14,267 --> 00:36:16,350 Və son şey var Burada, yalnız bu funksiyası 685 00:36:16,350 --> 00:36:18,120 biz olacaq ki, bizim əsas app istifadə 686 00:36:18,120 --> 00:36:23,970 qoşulmaq üçün verilənlər bazası başlamaq üçün Bu, sonra Post masa yaratmaq. 687 00:36:23,970 --> 00:36:26,880 >> İndi əsas app özü baxaq. 688 00:36:26,880 --> 00:36:30,800 Belə ki, bu bir çox olanları artıq bit 689 00:36:30,800 --> 00:36:34,840 biz əvvəl gördüm ki, lakin ümid çox pis deyil. 690 00:36:34,840 --> 00:36:37,140 Belə ki, mənə bu uzatmaq edək. 691 00:36:37,140 --> 00:36:38,370 Oldu. 692 00:36:38,370 --> 00:36:42,070 >> Belə ki, qeyd və top I idxal başqa şeylər bütün dəstə 693 00:36:42,070 --> 00:36:44,129 Flask biz deyil ki, həqiqətən, əvvəl görüldü. 694 00:36:44,129 --> 00:36:46,670 Və ümid edirəm ki, biz vasitəsilə getmək olar bu bir-bir hər biri 695 00:36:46,670 --> 00:36:49,420 və haqqında bir az daha çox danışmaq Onlara, məsələn sıralaması. 696 00:36:49,420 --> 00:36:51,380 Belə ki, biz, kolba var və render_template, 697 00:36:51,380 --> 00:36:54,370 olan biz əvvəl gördüm bu tələbi obyekt, 698 00:36:54,370 --> 00:37:00,400 biz necə baxdığımız zaman gələcək ki, Mən, həqiqətən, göstərirdi forması 699 00:37:00,400 --> 00:37:01,170 işləyir. 700 00:37:01,170 --> 00:37:04,850 Siz yönlendirme imkan verir, Yönləndirmə geri yaradın New Post 701 00:37:04,850 --> 00:37:11,710 orijinal ana geri, sonra Sizə imkan verir ki, bir şey URL, 702 00:37:11,710 --> 00:37:15,550 harada şekillendirmek veb xüsusi səhifə. 703 00:37:15,550 --> 00:37:17,810 >> Beləliklə, növbəti Mən şey, mən idxal edir 704 00:37:17,810 --> 00:37:21,550 Modellər məlumat bütün biz yalnız baxaraq faylları. 705 00:37:21,550 --> 00:37:23,140 Və Bəli. 706 00:37:23,140 --> 00:37:28,720 >> Belə ki, yeni başqa bir şey gəlir ki, Siz ilə məşğul olduğunuz zaman, 707 00:37:28,720 --> 00:37:31,850 xüsusilə verilənlər bazası, Siz daxil edə bilərsiniz ki, 708 00:37:31,850 --> 00:37:35,110 əvvəl deyilən olur bir funksiyası olur hər tələbi və funksiyası 709 00:37:35,110 --> 00:37:39,690 Bu istifadə edərək, hər sorğusundan sonra çağırıb funksiyası Decorator app.before sorğu. 710 00:37:39,690 --> 00:37:42,324 >> Və bu icra edəcək harada bu funksiyası var. 711 00:37:42,324 --> 00:37:44,240 Bu olmaq deyil xahişi əvvəl çağırıb 712 00:37:44,240 --> 00:37:46,281 lakin adətən bir şey var zəng etmək həssas. 713 00:37:46,281 --> 00:37:48,580 714 00:37:48,580 --> 00:37:51,650 Siz nə funksiyası daxil edə bilərsiniz Siz orada adlı almaq istəyirəm 715 00:37:51,650 --> 00:37:56,330 mən bu initialize_db müəyyən biz modelləri geri idi funksiyası 716 00:37:56,330 --> 00:38:02,390 fayl, belə ki, hər sorğu əvvəl, bazasında bağlanmak üçün istəyirəm. 717 00:38:02,390 --> 00:38:04,560 >> Iki fərqli var yolları bunu edə bilərsiniz. 718 00:38:04,560 --> 00:38:10,830 Sizapp edə bilərsiniz., I Bu after_request inanıram. 719 00:38:10,830 --> 00:38:13,800 Arasında fərq after_request və teardown_request, 720 00:38:13,800 --> 00:38:17,590 after_request yalnız baş verəcək ki, tələbi həqiqətən etibarlı idi. 721 00:38:17,590 --> 00:38:20,440 Belə ki, yalnız tələbi uğurlu oldu 722 00:38:20,440 --> 00:38:22,490 heç bir şey yanlış getdi əgər lakin teardown_request 723 00:38:22,490 --> 00:38:26,300 uğurlu halda olur sorğu və ya səhv halda. 724 00:38:26,300 --> 00:38:28,252 >> Belə ki, adətən, istədiyiniz teardown_request istifadə etmək, 725 00:38:28,252 --> 00:38:30,460 Siz nə etmək istədiyiniz halda xüsusilə fərqli bir şey, 726 00:38:30,460 --> 00:38:31,470 bir səhv halda. 727 00:38:31,470 --> 00:38:35,122 Lakin bazası bağlanması üçün, ki, başarılı və ya uğursuz olub 728 00:38:35,122 --> 00:38:37,080 biz sizə ayırmaq istəyirəm verilənlər bazası. 729 00:38:37,080 --> 00:38:41,240 Belə ki, db.close, deyirlər db obyekt. 730 00:38:41,240 --> 00:38:43,740 >> Teardown_request Qeyd edək ki, istisna götürür. 731 00:38:43,740 --> 00:38:46,781 Həqiqətən var idi, əgər Beləliklə, siz kontrol edə bilərsiniz Bir səhv ki, aşağı bağlanması zaman 732 00:38:46,781 --> 00:38:49,390 lakin burada, ümid edirəm ki, orada səhvlərin bir çox deyil, 733 00:38:49,390 --> 00:38:52,720 belə ki, biz yalnız sort ki, məhəl edirik. 734 00:38:52,720 --> 00:38:55,990 >> Okay, və qalan çox pis deyil. 735 00:38:55,990 --> 00:39:02,240 Belə ki, biz ana səhifəsinə getmək zaman, bu home.html Şablon göstərilən 736 00:39:02,240 --> 00:39:03,490 ki açacaq. 737 00:39:03,490 --> 00:39:06,240 pass post deyil və nə bu bərabər 738 00:39:06,240 --> 00:39:10,260 biz bu post var yadda yoxdur model, belə ki, biz bütün ismarıclarını seçin 739 00:39:10,260 --> 00:39:13,890 və sonra siz edə bilərsiniz başqa bir şey, Siz HARADA bənddə müəyyən edə bilərsiniz 740 00:39:13,890 --> 00:39:16,910 Bir belirtebilirsiniz sifariş və biz almaq 741 00:39:16,910 --> 00:39:18,820 ismarışları bütün sonra seçilmiş almaq və 742 00:39:18,820 --> 00:39:22,590 biz onları sifariş post.date.descending. 743 00:39:22,590 --> 00:39:25,030 Və müəyyən edəcək, zaman Onlar, həqiqətən, çıxmaq 744 00:39:25,030 --> 00:39:29,250 Ən son bir ilk biri olacaq. 745 00:39:29,250 --> 00:39:31,420 >> Və sonra, biz ki, keçmək home.html şablon, 746 00:39:31,420 --> 00:39:34,240 belə ki, həqiqətən açmaq bildirin həqiqətən sürətli ki Şablon, 747 00:39:34,240 --> 00:39:36,760 ki, iş necə bir göz atın. 748 00:39:36,760 --> 00:39:42,130 Bu, böyük HTML deyil ümid edirəm ki, biz Python diqqət bilər. 749 00:39:42,130 --> 00:39:46,960 >> Belə ki Şərhi əlavə bir link var Post və bu marşrut müəyyən 750 00:39:46,960 --> 00:39:51,580 Flask ərzində ki, biz burada olan müəyyən edir. 751 00:39:51,580 --> 00:39:56,310 Bu yeni post marşrutu, və biz burada qədər daxil. 752 00:39:56,310 --> 00:40:00,450 Və belə ki, sonra getmək ki, bir link Flask server çərçivəsində marşrutu. 753 00:40:00,450 --> 00:40:03,820 >> daha maraqlı şey burada loop üçün bu. 754 00:40:03,820 --> 00:40:07,685 Beləliklə, biz bu ki, müəyyən post parametri olan 755 00:40:07,685 --> 00:40:09,560 daxil köçürdü render_template funksiyası, 756 00:40:09,560 --> 00:40:13,550 post-ci ildə hər yazı üçün qəbul olur obyekt. 757 00:40:13,550 --> 00:40:16,600 Biz çap istəyirəm post adı, H1, 758 00:40:16,600 --> 00:40:21,930 və sonra aşağıda, biz çap etmək istəyirəm bir paraqraf ərzində post mətn. 759 00:40:21,930 --> 00:40:25,710 >> Və burada, biz, həqiqətən, bilərsiniz bir Python funksiyası zəng, 760 00:40:25,710 --> 00:40:35,130 belə ki, biz strftime zəng edə bilərsiniz, ST-RF-time, və format string keçə bilər 761 00:40:35,130 --> 00:40:37,064 Siz həyata data çap etmək istəyirəm ki,. 762 00:40:37,064 --> 00:40:39,980 Belə ki, siz ki, olduqca gözəl oldu həqiqətən bu Python funksiyası zəng 763 00:40:39,980 --> 00:40:41,090 Burada daxilində. 764 00:40:41,090 --> 00:40:44,370 Siz biçimlendirme nə yoxdur nəzarətçi tərəfi həqiqətən, çünki, 765 00:40:44,370 --> 00:40:47,770 tarixi format bir şeydir ki, Siz View ərzində məşğul istəyirəm. 766 00:40:47,770 --> 00:40:51,480 >> Və bu yüzdə bütün hər şeyi super əhəmiyyətli deyil. 767 00:40:51,480 --> 00:40:55,270 Siz sənədləri baxsaq Python strftime funksiyası üçün, 768 00:40:55,270 --> 00:40:57,040 bütün bu ifadə şeylər, amma ki, 769 00:40:57,040 --> 00:40:59,190 necə, nə vaxt biz aradığınız Burada ev səhifə, 770 00:40:59,190 --> 00:41:04,440 bir gözəl ilə bu format tarixi və bu ifadə AM və ya PM, 771 00:41:04,440 --> 00:41:09,410 lakin adətən, biz əgər Burada bu yox idi, 772 00:41:09,410 --> 00:41:14,024 Siz yəqin ki, bəzi zibil almaq lazımdır çox yaxşı baxmadı tarixi. 773 00:41:14,024 --> 00:41:15,940 Və sonra biz müəyyən post.text, I və ola bilər 774 00:41:15,940 --> 00:41:19,460 bir neçə qoymaq var line yalnız burada pozur 775 00:41:19,460 --> 00:41:21,820 hər post arasında boşluq qoymaq üçün. 776 00:41:21,820 --> 00:41:26,270 >> Belə ki, mən ən əhəmiyyətli hesab edirəm ki, Bu misalda şey, 777 00:41:26,270 --> 00:41:28,697 Siz loop üçün istifadə edə bilərsiniz ki. 778 00:41:28,697 --> 00:41:30,780 Bu eyni deyil şeylər PHP edə bilərsiniz. 779 00:41:30,780 --> 00:41:32,905 Siz vasitəsilə təkrarlamaq bilər hər şey keçdi olur 780 00:41:32,905 --> 00:41:36,719 və belə ki, əvəzinə olan nə surəti / pastası, surəti / bütün HTML yapışdırıb 781 00:41:36,719 --> 00:41:40,010 Yalnız sonra bir dəfə yazmaq üçün var, və Siz ismarıc bütün təkrarlamaq olar. 782 00:41:40,010 --> 00:41:41,510 >> Bu bir şey deyil Istədiyiniz ki, ümumi 783 00:41:41,510 --> 00:41:44,510 məlumatların bir çox zaman, nə üçün, ki, sizin data hər şey üçün 784 00:41:44,510 --> 00:41:48,370 Bir oxşar şey etmək istəyirəm. 785 00:41:48,370 --> 00:41:51,690 Və sonra, yalnız xatırlayıram zaman ki, aydın bir şey çap etmək istəyirəm 786 00:41:51,690 --> 00:41:54,780 HTML, istifadə burada ikiqat aşırma, 787 00:41:54,780 --> 00:41:57,820 lakin sonra müəyyən etmək istədiyiniz zaman vəziyyəti haqqında bəzi məlumatlar, 788 00:41:57,820 --> 00:42:02,430 ya bir loop üçün, faiz bracket istifadə edin. 789 00:42:02,430 --> 00:42:08,730 >> Belə ki, Python geri gedir indeksi, belə ki, izah edir 790 00:42:08,730 --> 00:42:12,242 nə əsas baş marşrut, biz orada getmək, 791 00:42:12,242 --> 00:42:14,450 yalnız göstərir bütün ismarıc, lakin sonra sual 792 00:42:14,450 --> 00:42:17,440 , necə biz, həqiqətən alıram ki, verilənlər bazası daxil posts olan 793 00:42:17,440 --> 00:42:18,970 bir az daha maraqlıdır. 794 00:42:18,970 --> 00:42:23,960 >> Belə ki, zaman New basın Biz burada gördük Post link, 795 00:42:23,960 --> 00:42:26,000 Bu forma sizi yönləndirən. 796 00:42:26,000 --> 00:42:29,580 Və yalnız bir sadə zəng render_template funksiyası, daha sonra 797 00:42:29,580 --> 00:42:32,110 HTML şəklində yeni vəzifə keçir. 798 00:42:32,110 --> 00:42:36,212 Belə ki, bir nəzər salaq. 799 00:42:36,212 --> 00:42:37,420 Belə ki, bu olduqca sadədir. 800 00:42:37,420 --> 00:42:45,110 Bu sadə HTML forması, olan bir az tanış görünür, 801 00:42:45,110 --> 00:42:47,380 CS50 Maliyyə formaları əsaslanır. 802 00:42:47,380 --> 00:42:49,940 Və belə ki, biz burada fəaliyyət göstərir. 803 00:42:49,940 --> 00:42:52,435 Və burada, çalışırıq, əgər PHP ilə, adətən, onu 804 00:42:52,435 --> 00:42:55,930 kimi bir şey olardı, create.PHP, lakin burada 805 00:42:55,930 --> 00:42:59,960 biz, həqiqətən, bir marşrut müəyyən Flask server ərzində. 806 00:42:59,960 --> 00:43:02,520 Belə ki, bu marşrut uyğundur yaratmaq marşrutu 807 00:43:02,520 --> 00:43:05,680 Biz burada var ki biz ikinci getmək lazımdır. 808 00:43:05,680 --> 00:43:07,630 >> Və belə ki, biz ki, müəyyən bu bir post metodu var 809 00:43:07,630 --> 00:43:09,820 biz göndərmək istəyirəm, çünki Bu forma data və adətən 810 00:43:09,820 --> 00:43:12,945 Bir formada məlumatların göndərilməsi etdiyiniz zaman, Bir post sorğusundan istifadə edə bilərsiniz, 811 00:43:12,945 --> 00:43:15,760 Siz başa yoxdur, sadəcə belə Bu böyük, yöndəmsiz URL ilə. 812 00:43:15,760 --> 00:43:18,970 Amma siz də bir GET sorğu istifadə edə bilər, və, dəyişən marşrutlaşdırma ilə keçmək 813 00:43:18,970 --> 00:43:21,170 lakin formaları üçün, bu gözəl burada post sorğu. 814 00:43:21,170 --> 00:43:24,620 Və sonra, yalnız sizin kimi HTML və PHP ilə edəcəyini, 815 00:43:24,620 --> 00:43:28,420 bu mətn giriş daxil edə bilərsiniz, və onlara adını daxil edə bilərsiniz, 816 00:43:28,420 --> 00:43:33,490 ki, qəbul olacaq adı Flask ərzində tələbi obyektə. 817 00:43:33,490 --> 00:43:36,960 >> Və sonra biz bir təqdim etdik düyməsini Post deyir ki. 818 00:43:36,960 --> 00:43:40,760 Və burada, Post adı düyməsini bir blog post çünki, 819 00:43:40,760 --> 00:43:42,700 lakin burada, post sorğu üsuludur. 820 00:43:42,700 --> 00:43:47,060 Belə ki, o eyni sözü var lakin həqiqətən olmayan. 821 00:43:47,060 --> 00:43:48,460 Bəli 822 00:43:48,460 --> 00:43:54,800 >> Python kodu geri gedir, biz metodu yaratmaq çağıranda, 823 00:43:54,800 --> 00:43:57,702 Burada qeyd bilərsiniz ki, həqiqətən marşrut üzrə daxil 824 00:43:57,702 --> 00:44:00,650 sorğu üsulları Siz qəbul etmək istəyirəm ki, 825 00:44:00,650 --> 00:44:04,770 və belə ki, burada, mən ki, mən müəyyən yalnız bir Post metodu qəbul etmək istəyirəm. 826 00:44:04,770 --> 00:44:09,800 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, 827 00:44:09,800 --> 00:44:11,700 Bu "metodu icazə verilmir." Mənə izah edəcək 828 00:44:11,700 --> 00:44:15,840 >> Belə ki, siz, sort kimi pages Mən yalnız deyiləm bu yaratmaq səhifə 829 00:44:15,840 --> 00:44:20,192 həqiqətən bir yol kimi istifadə forma təqdim almaq üçün, 830 00:44:20,192 --> 00:44:22,900 Siz deyil ki belirtebilirsiniz insanlar orada getmək etmək istəyirəm 831 00:44:22,900 --> 00:44:25,650 birbaşa GET sorğu vasitəsilə, və ya istədiyiniz olmasaydı, 832 00:44:25,650 --> 00:44:28,580 nədənsə, bir Post tələbi Yalnız burada GET müəyyən edə bilər 833 00:44:28,580 --> 00:44:32,720 lakin bu, məsələn, biz yalnız Post sorğu çıxmaq istəyirəm. 834 00:44:32,720 --> 00:44:38,700 >> Belə ki, create_post adlanır zaman, zaman biz Post sorğu vasitəsilə ki, ziyarət 835 00:44:38,700 --> 00:44:43,600 Müəyyən bir getmək zaman marşrutu bu istəyi obyekt var, 836 00:44:43,600 --> 00:44:46,640 və biz idxal idi çox üst sorğu, 837 00:44:46,640 --> 00:44:49,640 lakin bu tələb var qəbul olur obyekt, 838 00:44:49,640 --> 00:44:53,210 və formada məlumat əldə edə bilərsiniz, avtomatik dolu olacaq 839 00:44:53,210 --> 00:44:55,070 Bir formada sorğu göndərmək zaman. 840 00:44:55,070 --> 00:44:56,990 >> Və sonra, mən nə düşünürsünüz , həqiqətən, sərin edir 841 00:44:56,990 --> 00:45:02,840 form obyekt keçdi almaq üçün , yalnız bir Python lüğət ki, 842 00:45:02,840 --> 00:45:10,560 Siz belə ki, burada access-- əgər, imkan ehtiva Mənə yalnız, onun yanında HTML qoparmaq 843 00:45:10,560 --> 00:45:17,670 belə ki, ola bilər istinad, bəli, belə ki, 844 00:45:17,670 --> 00:45:21,060 biz burada müəyyən adları müxtəlif sahələri üçün, belə ki, 845 00:45:21,060 --> 00:45:23,900 adı və mətn, biz sonra yalnız burada o istifadə 846 00:45:23,900 --> 00:45:27,110 form data daxil indeksləri kimi. 847 00:45:27,110 --> 00:45:28,950 Belə ki, super rahat edir. 848 00:45:28,950 --> 00:45:33,320 >> Beləliklə, biz post.create zəng yaratmaq və avtomatik olaraq daxil olacaq 849 00:45:33,320 --> 00:45:36,850 bazasında yeni post obyekt. 850 00:45:36,850 --> 00:45:40,690 Mən bu funksiyanı yaratmaq edirəm Burada necə bir həqiqətən sərin nümunəsidir 851 00:45:40,690 --> 00:45:44,900 güclü Flask və bu ilə işləyir Əgər bir şey etdiklərini, çünki 852 00:45:44,900 --> 00:45:48,660 PHP, siz ola bilər qiymətləndirmə bir çox, 853 00:45:48,660 --> 00:45:51,730 Əgər olardı bir verilənlər bazası keçid yaratmaq, 854 00:45:51,730 --> 00:45:55,210 Əgər olardı SQL sorğu icra, 855 00:45:55,210 --> 00:45:59,550 lakin burada biz yalnız bu gözəl var post.create olan biz sonra bilər yalnız 856 00:45:59,550 --> 00:46:01,520 məlumat almaq sorğu obyekt, 857 00:46:01,520 --> 00:46:05,370 və sonra yeni bir onu keçmək biz yaradılması edirik ki göndərin. 858 00:46:05,370 --> 00:46:07,850 >> Və son sonra biz istəyirik şey, 859 00:46:07,850 --> 00:46:09,630 yönlendirme deyil ev istifadəçi geri. 860 00:46:09,630 --> 00:46:13,020 Və belə ki, biz bu istifadə Flask funksiyası yönlendirme. 861 00:46:13,020 --> 00:46:17,770 Və bir şey görmədiyini əvvəl, bu URL funksiyası. 862 00:46:17,770 --> 00:46:21,970 Belə ki, funksiyası üçün URL imkan verir Siz, həqiqətən, adı keçmək 863 00:46:21,970 --> 00:46:26,090 Sizin Python kodu bir funksiyası, daha xüsusi marşrut çox 864 00:46:26,090 --> 00:46:26,720 ki, da var. 865 00:46:26,720 --> 00:46:32,107 >> Mən yalnız kimi asanlıqla ola bilər doğramaq üçün istifadəçi istiqamətləndirilmişdir, 866 00:46:32,107 --> 00:46:37,050 olan ev geri göndərmək, lakin funksiyası gözəl üçün URL istifadə edərək, 867 00:46:37,050 --> 00:46:39,990 Siz dəyişdirmək əgər çünki şeylər yeri, 868 00:46:39,990 --> 00:46:44,080 belə ki, mən dəyişdirmək ki, bildirin ev əvəzinə / evdə olmaq 869 00:46:44,080 --> 00:46:47,040 Bu hələ sonra qayıtmaq istəyirəm / home, həqiqətən gedir və görünür, çünki 870 00:46:47,040 --> 00:46:50,770 funksiyası adı və bu, siz ki, URL geri verəcək. 871 00:46:50,770 --> 00:46:52,490 >> Belə ki, sort haqqında sen ehtimal 872 00:46:52,490 --> 00:46:55,489 burada şeyi dəyişdirmək üçün daha çox funksiyaları adları daha var. 873 00:46:55,489 --> 00:46:58,840 Siz, həqiqətən, bu istifadə edə bilərsiniz funksiyası üçün gözəl URL. 874 00:46:58,840 --> 00:47:02,470 Və bir şey xəbərdar olmaq ki, bir az çətin deyil 875 00:47:02,470 --> 00:47:05,750 Siz yalnız bilər hesab edirəm ki, üçün URL yönlendirme zəng 876 00:47:05,750 --> 00:47:10,600 lakin faktiki marşrutları bütün mətn və HTML bir növ qayıtmaq üçün, 877 00:47:10,600 --> 00:47:14,360 belə ki, həqiqətən var İstiqamətləndirmə zəng qayıtmaq. 878 00:47:14,360 --> 00:47:18,379 Əks halda, bir şey almaq lazımdır etibarsız bir simli qaytarılması haqqında, 879 00:47:18,379 --> 00:47:21,420 bütün bunlar qayıtmaq lazımdır, çünki HTML, həqiqətən göstərmək istəyirəm. 880 00:47:21,420 --> 00:47:26,980 >> Belə ki, siz yönlendirme zəng zaman, bu səhifəyə yönləndirən 881 00:47:26,980 --> 00:47:30,270 lakin bu, həqiqətən HTML qaytarır ki, yönlendirme icra etmək lazımdır. 882 00:47:30,270 --> 00:47:34,430 883 00:47:34,430 --> 00:47:37,110 Evə səhifəyə gedin. 884 00:47:37,110 --> 00:47:39,200 Beləliklə, biz bu iki müxtəlif fikirlər var. 885 00:47:39,200 --> 00:47:40,132 Biz ev görünüşü var. 886 00:47:40,132 --> 00:47:41,590 Və ya, Mən şablon demək lazımdır danışarlar. 887 00:47:41,590 --> 00:47:44,190 Biz bu iki şablonları var, ev şablon hansı 888 00:47:44,190 --> 00:47:48,500 Bizim ismarışları bütün göstərir və sonra biz bu reklam şey var, 889 00:47:48,500 --> 00:47:52,970 Siz post basın zaman, gedir Flask ərzində yeni marşrut, 890 00:47:52,970 --> 00:47:55,920 amma ki, marşrut mütləq deyil müvafiq şablon var. 891 00:47:55,920 --> 00:47:59,290 892 00:47:59,290 --> 00:48:01,560 Siz görmək yoxdur bir şey, ancaq siz hələ də edə bilərsiniz 893 00:48:01,560 --> 00:48:04,090 bu iş gedir pərdə arxasında. 894 00:48:04,090 --> 00:48:07,450 Və sonra Yönlendirilen Əsas səhifəyə geri. 895 00:48:07,450 --> 00:48:12,230 Və mütləq iş üçün asandır şablon bəzi gözəl CSS 896 00:48:12,230 --> 00:48:15,580 və bu çox gözəl baxmaq, lakin əsas məntiq bütün 897 00:48:15,580 --> 00:48:18,590 Python var. 898 00:48:18,590 --> 00:48:20,020 >> Ki, məsələn haqqında hər hansı bir sualınız? 899 00:48:20,020 --> 00:48:22,760 Mən bir çox var bilirik fərqli şeylər, orada gedən 900 00:48:22,760 --> 00:48:25,341 biz görmədiyini çox şey əvvəl, lakin bir şey kimi. 901 00:48:25,341 --> 00:48:25,840 Bəli. 902 00:48:25,840 --> 00:48:28,346 >> Auditoriya 1: heç bir şey var var data kolpan xüsusi 903 00:48:28,346 --> 00:48:29,600 şəklində gələn? 904 00:48:29,600 --> 00:48:31,109 I "yaratmaq" yalnız bildirib fərq 905 00:48:31,109 --> 00:48:33,900 EZRA Zigmond: Bəli, belə ki, həqiqətən ki, həqiqətən yaxşı bir nöqtə var. 906 00:48:33,900 --> 00:48:36,350 Sual idi, belə ki, sizə nə yoxlamaq və əmin etmək lazımdır 907 00:48:36,350 --> 00:48:39,190 data, etibarlı olduğunu və yuyulma hər hansı yoxdur 908 00:48:39,190 --> 00:48:41,840 etibarlı əmin etmək üçün, Siz burada görə bilərsiniz kimi, çünki, 909 00:48:41,840 --> 00:48:42,660 Mən bunu deyiləm. 910 00:48:42,660 --> 00:48:48,140 Belə ki, nə görmək edək Mən boş bir şey göndərmək əgər. 911 00:48:48,140 --> 00:48:51,190 Belə ki, həqiqətən, yalnız bir etmək lazımdır boş post və DateTime doldurun. 912 00:48:51,190 --> 00:48:55,990 >> Belə ki, əslində, siz yəqin ki, kimi bir şey etmək istəyirəm, 913 00:48:55,990 --> 00:49:04,749 title bərabər olduqda, bəlkə müəyyən boş string, bu yoxdur. 914 00:49:04,749 --> 00:49:07,290 Adı və ya, yalnız bunu boş simli bərabər deyil. 915 00:49:07,290 --> 00:49:10,330 Belə ki, həqiqətən avtomatik deyil ki, yuyulma qayğı 916 00:49:10,330 --> 00:49:12,820 Sizin üçün, belə ki, hələ ki, bunu etmək lazımdır. 917 00:49:12,820 --> 00:49:14,330 Bəli, yaxşı sualdır. 918 00:49:14,330 --> 00:49:18,497 >> Auditoriya 2: kolpan mu sonradan injection üçün? 919 00:49:18,497 --> 00:49:19,890 Bilirsənmi? 920 00:49:19,890 --> 00:49:22,830 >> EZRA Zigmond: Ümid edirəm ki, peewee ki, yoxdur. 921 00:49:22,830 --> 00:49:25,830 Mən, əlbəttə, olduqca olardı pis kitabxana bunu olmasaydı. 922 00:49:25,830 --> 00:49:29,511 923 00:49:29,511 --> 00:49:32,690 Mən dəqiq bilmirəm. 924 00:49:32,690 --> 00:49:34,820 Mən baxmaq istədiyiniz Bu yaradılan sorğu. 925 00:49:34,820 --> 00:49:38,980 Mən çap əgər, hesab edirəm ki, sort baxdı blog post 926 00:49:38,980 --> 00:49:46,370 bir SQL injection hücum kimi, bu kimi bir şey, bu halda 927 00:49:46,370 --> 00:49:49,370 parol sahəsində və ya bir şey kimi, Bu kimi bir şey ola bilər. 928 00:49:49,370 --> 00:49:53,410 >> Hesab edirəm ki, hələ düşünürəm sanki olunub almaq, 929 00:49:53,410 --> 00:49:59,200 amma peewee nə ki, hesab edirəm ki, məlumatların yuyulma bir növ 930 00:49:59,200 --> 00:50:01,680 Bu, həqiqətən onu icra əvvəl. 931 00:50:01,680 --> 00:50:04,510 >> Auditoriya 1: Bu mətn sahədir sağ, düz mətn etmək üçün nəzərdə tutulmuşdur? 932 00:50:04,510 --> 00:50:05,710 >> EZRA Zigmond: Bəli, bu. 933 00:50:05,710 --> 00:50:06,465 Bəli. 934 00:50:06,465 --> 00:50:09,590 Beləliklə, mən bütün hesab edirəm ki, belə ki, bu düzgün davranış ki, bunu edəcəyik, 935 00:50:09,590 --> 00:50:12,170 amma peewee edirəm inşallah bunu edir 936 00:50:12,170 --> 00:50:13,780 Onların sonunda müdafiə bəzi sort. 937 00:50:13,780 --> 00:50:16,090 Və istəyirdi ikiqat çek ki, orada 938 00:50:16,090 --> 00:50:19,530 Bir sorğu yaratmaq yolları var. 939 00:50:19,530 --> 00:50:22,622 belə ki, yoxdur birbaşa icra. 940 00:50:22,622 --> 00:50:24,330 Mən bir almaq istiyorum sənədlərin baxmaq, 941 00:50:24,330 --> 00:50:27,930 lakin həqiqətən bilərsiniz Bu yaradan SQL, 942 00:50:27,930 --> 00:50:30,840 ki, nəzər, və etmək Bu şeyi qaçan əmin olun. 943 00:50:30,840 --> 00:50:33,700 >> Digər səbəb niyə bilər SQL baxmaq istəyirəm 944 00:50:33,700 --> 00:50:37,920 ki peewee əgər, tipi edir şeyi, həqiqətən yavaş-yavaş davam etmək görünür 945 00:50:37,920 --> 00:50:41,090 Bir nəzər və nə edə bilərsiniz bəzən çünki həqiqətən, bunu 946 00:50:41,090 --> 00:50:44,670 təsadüfən əlavə etmək üçün asandır da, yol yazmaq, 947 00:50:44,670 --> 00:50:47,880 Siz təsadüfən ola bilər ilk bütün verilənlər bazası seçin 948 00:50:47,880 --> 00:50:50,230 və sonra bəzi sort əməliyyat ki, zaman, həqiqətən, 949 00:50:50,230 --> 00:50:51,320 alt seçmək üçün idi. 950 00:50:51,320 --> 00:50:53,560 >> Belə ki, hər şeyi, əgər deyil olduqca doğru gedir 951 00:50:53,560 --> 00:50:57,300 Bu tələbi nəzər yaxşı həqiqətən yaradılan əldə edir. 952 00:50:57,300 --> 00:50:57,800 Bəli. 953 00:50:57,800 --> 00:51:02,100 >> Auditoriya 2: ilk başlayanda, Siz 5000 kimi limanında qoydu. 954 00:51:02,100 --> 00:51:02,904 >> EZRA Zigmond: Bəli. 955 00:51:02,904 --> 00:51:06,070 Auditoriya 2: Peewee ilə default və ya dəyişə bilərsiniz bir şey ki? 956 00:51:06,070 --> 00:51:10,870 EZRA Zigmond: Bəli, belə ki, port Flask ilə default edir. 957 00:51:10,870 --> 00:51:13,061 Siz olmadan run əgər bir şey ifadə edərək, 958 00:51:13,061 --> 00:51:14,310 avtomatik olaraq edəcəyik. 959 00:51:14,310 --> 00:51:16,060 Mən istədiyiniz, iman Bu yoxlamaq üçün, 960 00:51:16,060 --> 00:51:19,130 ancaq app.run ki, müəyyən edə bilərsiniz Mən sizin kimi bir şey edə bilər 961 00:51:19,130 --> 00:51:19,629 port = 8080. 962 00:51:19,629 --> 00:51:22,375 963 00:51:22,375 --> 00:51:23,750 Bir real sürətli cəhd verim. 964 00:51:23,750 --> 00:51:29,100 965 00:51:29,100 --> 00:51:32,230 Bəli, belə ki, yalnız daxil edə bilərsiniz port = 8080 və bu, orada davam edəcək 966 00:51:32,230 --> 00:51:36,130 istəyirdi əgər mən hesab edirəm ki, run IDE, mən bu cəhd deyil 967 00:51:36,130 --> 00:51:38,527 amma hesab edirəm ki, əgər , port 8080 qaçdı 968 00:51:38,527 --> 00:51:40,360 Siz yəqin ki, mümkün olarıq server daxil olmaq üçün, 969 00:51:40,360 --> 00:51:41,870 yalnız haqqinda üçün idi istəyirəm. 970 00:51:41,870 --> 00:51:44,390 >> Bəli, amma asan dəyişdirmək üçün, əgər 971 00:51:44,390 --> 00:51:48,540 kimi port-ekspeditor hər cür var Siz nə etmək lazımdır şeyi. 972 00:51:48,540 --> 00:51:50,410 >> Hər hansı digər suallar? 973 00:51:50,410 --> 00:51:50,916 Evet? 974 00:51:50,916 --> 00:51:53,416 Auditoriya 1: Belə ki, mən gördüm sizin , siz dediyiniz kimi modelləri 975 00:51:53,416 --> 00:51:55,647 belirttiğiniz var hər bir obyekt üçün verilənlər bazası. 976 00:51:55,647 --> 00:51:58,105 Bildiyiniz üçün nə etməyin yoxdur ki, əgər, həqiqətən, asan 977 00:51:58,105 --> 00:52:03,210 SQLite verilənlər bazası çox ki, bir web app üçün istifadə etmək istədiyiniz, 978 00:52:03,210 --> 00:52:07,210 Yalnız bir dəstə daxil edə bilərsiniz ki, Sizin model müxtəlif olanları? 979 00:52:07,210 --> 00:52:11,620 >> EZRA Zigmond: Bəli, mənə imkan real sürətli qədər açın. 980 00:52:11,620 --> 00:52:17,570 Siz etmək istəyirsinizsə Belə ki, deyərək edirik fərqli bir şey bir dəstə, bəlkə 981 00:52:17,570 --> 00:52:22,670 bəzi kimi və tələbələr səbəbi kimi bir şey? 982 00:52:22,670 --> 00:52:26,870 Bəli, mən hesab edirəm ki, hələ hər model 983 00:52:26,870 --> 00:52:30,652 hələ var ki, ona həvalə bir verilənlər bazası, 984 00:52:30,652 --> 00:52:32,610 ancaq istəyirdi var müxtəlif modelləri ki, 985 00:52:32,610 --> 00:52:35,818 müxtəlif verilənlər bazası obyektləri təyin etdik bu, mütləq bunu edə bilər. 986 00:52:35,818 --> 00:52:43,070 Belə ki, əgər mən yeni yaradılmış bu kimi bir şey, 987 00:52:43,070 --> 00:52:47,000 və indi bu tələbəsidir ki, , işin bir blog kimi görünür 988 00:52:47,000 --> 00:52:49,390 Hesab edirəm ki, müəyyən edə bilər Verilənlər bazası burada db_2 bərabərdir. 989 00:52:49,390 --> 00:52:51,390 Belə ki, mən ki, hesab edirəm Siz bunu edə bilərsiniz əsas yol. 990 00:52:51,390 --> 00:52:54,560 991 00:52:54,560 --> 00:52:56,200 >> Cool. 992 00:52:56,200 --> 00:52:58,410 Hər hansı digər suallar? 993 00:52:58,410 --> 00:53:02,170 >> Belə ki, yalnız bir az başa çatdırmaq üçün bit, burada bəzi resursları, 994 00:53:02,170 --> 00:53:06,030 bu slaydlar online dərc olunacaq belə ki, həqiqətən, bu links əldə edə bilərsiniz. 995 00:53:06,030 --> 00:53:08,500 yaxşı resursları həqiqətən Flask üçün sənədlər 996 00:53:08,500 --> 00:53:09,930 və özlərini peewee. 997 00:53:09,930 --> 00:53:12,940 Onlar, həqiqətən, yaxşı yazılmış edirik düşünürəm. 998 00:53:12,940 --> 00:53:18,180 Belə ki, Flask veb burada və Onlar quickstart tutorial var ki, 999 00:53:18,180 --> 00:53:20,710 oxşar vasitəsilə gəzmək olacaq Mən vasitəsilə getdi nə şeyi, 1000 00:53:20,710 --> 00:53:23,560 ancaq baxış hər cür istəyirsinizsə Mən getdi şeyi, 1001 00:53:23,560 --> 00:53:26,200 və ya mən izah ki, düşündüm bir confusing şəkildə bir şey, 1002 00:53:26,200 --> 00:53:28,390 onlar orada bənzəri nümunələr lazımdır. 1003 00:53:28,390 --> 00:53:31,570 >> Peewee sənədləri var və Onlar quickstart tutorial var 1004 00:53:31,570 --> 00:53:34,650 ki, əsas parametrləri üzərində gedir istifadə etmək istəyirəm ki,. 1005 00:53:34,650 --> 00:53:38,900 Belə ki, hər şeyi mən danışdıq unikal və ifadə yetirilməməsi, 1006 00:53:38,900 --> 00:53:42,710 sahələrində müxtəlif növ ki, bu bütün var olacaq, istifadə edə bilərsiniz. 1007 00:53:42,710 --> 00:53:44,690 >> Ayrıca, varsa Peewee haqqında suallar, 1008 00:53:44,690 --> 00:53:47,530 və siz StackOverflow onları göndərmək həqiqətən peewee etdi guy 1009 00:53:47,530 --> 00:53:49,500 gedir və bəzən o cavab verir. 1010 00:53:49,500 --> 00:53:53,200 Inşallah bir sual varsa, O, cavab edə bilərsiniz 1011 00:53:53,200 --> 00:53:54,867 o, bütün şey yazdı çünki. 1012 00:53:54,867 --> 00:53:56,700 Hesab edirəm ki, hər şey hesab edirəm Mən əhatə istədi. 1013 00:53:56,700 --> 00:53:58,930 Gələn üçün təşəkkür edirik. 1014 00:53:58,930 --> 00:54:02,688