1 00:00:00,000 --> 00:00:00,499 2 00:00:00,499 --> 00:00:03,227 [موسیقی] 3 00:00:03,227 --> 00:00:04,705 4 00:00:04,705 --> 00:00:05,830 EZRA زیگمند: سلام بر همه. 5 00:00:05,830 --> 00:00:08,020 با تشکر برای بیرون آمدن امروز. 6 00:00:08,020 --> 00:00:10,660 این سمینار "پایتون وب سایت با نرم افزار فلاسک. " 7 00:00:10,660 --> 00:00:14,510 >> بنابراین، من قصد دارم به صحبت کردن می شود کمی در مورد اینکه چرا 8 00:00:14,510 --> 00:00:17,400 شما ممکن است مایل به استفاده از فلاسک به برنامه های وب با پایتون، به عنوان مخالف 9 00:00:17,400 --> 00:00:21,556 به برخی از چارچوب های دیگر وجود دارد، مانند جنگو است که به خوبی شناخته شده است. 10 00:00:21,556 --> 00:00:24,330 زیرنویس است "و چيز كوچك و جزئي، "چیزی است که 11 00:00:24,330 --> 00:00:27,250 ما قصد داریم تا در مورد چگونگی صحبت به تعامل با پایگاه داده SQL. 12 00:00:27,250 --> 00:00:29,610 این باعث می شود آن را واقعا خوب است. 13 00:00:29,610 --> 00:00:32,390 >> بنابراین، در اینجا فقط مختصر و مفید سریع از چه من می خواهم برای رفتن. 14 00:00:32,390 --> 00:00:35,520 بنابراین، اول، فقط یک اسلاید که برای رفتن به کلید شروع سریع، 15 00:00:35,520 --> 00:00:38,530 این است که چگونه به همه چیز راه اندازی بر روی کامپیوتر شما. 16 00:00:38,530 --> 00:00:41,760 من قصد دارم به شد نشان دادن این بر روی دستگاه محلی مک من، 17 00:00:41,760 --> 00:00:45,220 فقط به خاطر این که در آن من این را انجام داده ام قبل از، من بیشتر با آن راحت هستم، 18 00:00:45,220 --> 00:00:48,510 اما این است که قطعا ممکن است در CD50 IDE. 19 00:00:48,510 --> 00:00:52,050 >> بنابراین، پس از آن، من می خواهم معرفی آنچه فلاسک است، 20 00:00:52,050 --> 00:00:55,089 و شما را متقاعد کند که چرا شما باید استفاده از آن در وهله اول. 21 00:00:55,089 --> 00:00:56,880 پس از آن، من یک سریع را مثال از آنچه شما 22 00:00:56,880 --> 00:01:00,550 می توانید در فلاسک، یک مثال سریع انجام آنچه شما می توانید در چيز كوچك و جزئي انجام دهید، 23 00:01:00,550 --> 00:01:05,010 و پس از آن من به شما یک بیشتر نشان می دهد به عنوان مثال نرم افزار کامل 24 00:01:05,010 --> 00:01:07,520 که من با هم قرار داده که ما می توانید از طریق راه رفتن با هم. 25 00:01:07,520 --> 00:01:10,040 >> و در نهایت در، آخرین اسلاید، من 26 00:01:10,040 --> 00:01:12,730 برخی از منابع که شما نگاه در آنلاین برای اطلاعات بیشتر. 27 00:01:12,730 --> 00:01:15,560 این یک کامل نیست آموزش از نحوه استفاده از فلاسک. 28 00:01:15,560 --> 00:01:18,140 و من امیدوارم که به ترک برخی از زمان برای سوالات. 29 00:01:18,140 --> 00:01:21,050 هر کسی در حال تماشای به صورت محلی، فقط مانند، فریاد در وسط 30 00:01:21,050 --> 00:01:22,340 اگر هر سوالی دارید. 31 00:01:22,340 --> 00:01:27,150 >> بنابراین چیزهای نصب و راه اندازی سریع، اگر شما می خواهید به دنبال همراه، 32 00:01:27,150 --> 00:01:29,240 و یا اگر شما می خواهید برای دریافت این بر روی دستگاه خود را، 33 00:01:29,240 --> 00:01:32,440 من قصد دارم به توان با استفاده از پایتون 2.7.10. 34 00:01:32,440 --> 00:01:35,860 فلاسک کار با پایتون 3، اما من دوست دارم 35 00:01:35,860 --> 00:01:38,660 با استفاده از پایتون 2، به دلیل وجود این برخی از بسته های پایتون 36 00:01:38,660 --> 00:01:40,910 با 3 کار نشده است. 37 00:01:40,910 --> 00:01:44,800 اگر شما پیپ نصب شده، که یک مدیر بسته پایتون می باشد، 38 00:01:44,800 --> 00:01:48,190 من فکر می کنم اگر پایتون است بزرگتر یا مساوی 2.7.9، 39 00:01:48,190 --> 00:01:52,220 شما آن را نصب کرده اید، آن را فوق العاده آسان برای نصب این بسته. 40 00:01:52,220 --> 00:01:54,990 >> شما می توانید انجام پیپ نصب فلاسک، تصویر در تصویر نصب چيز كوچك و جزئي، 41 00:01:54,990 --> 00:01:58,600 معمولا شما باید برای اجرای دستور sudo فقط به طوری که مجوز کار کند. 42 00:01:58,600 --> 00:02:01,080 و اگر شما با استفاده از یک فوق العاده نسخه های قدیمی از پایتون، 43 00:02:01,080 --> 00:02:05,100 من توصیه می کنم به روز رسانی پایتون خود را، و یا با استفاده EasyInstall به نصب تصویر در تصویر. 44 00:02:05,100 --> 00:02:09,180 45 00:02:09,180 --> 00:02:11,120 بنابراین، سوال بعدی این است، چه فلاسک است؟ 46 00:02:11,120 --> 00:02:13,280 و من حدس می زنم، برای اولین بار سوال منطقی من تعجب 47 00:02:13,280 --> 00:02:15,585 برای مدت زمان طولانی است، چه یک برنامه وب است. 48 00:02:15,585 --> 00:02:17,960 از آنجا که یک کلمه نیست که من فکر می کنم حدود زیادی پرتاب 49 00:02:17,960 --> 00:02:19,240 که من واقعا نمی دانند. 50 00:02:19,240 --> 00:02:22,340 و من فکر می کنم که بهترین نمونه ای از آنچه یک برنامه وب است، 51 00:02:22,340 --> 00:02:26,960 واقعا CS50 مالی، که در آن واقعا فقط یک وب سایت، 52 00:02:26,960 --> 00:02:29,320 اما آن چیزی که شما مرتب کردن بر اساس تواند با تعامل. 53 00:02:29,320 --> 00:02:31,736 حساب کاربر وجود دارد و تمام انواع چیزهای مختلف است. 54 00:02:31,736 --> 00:02:35,010 بنابراین، که دقیقا شما در قرعه کشی خط بین آنچه یک وب سایت است، 55 00:02:35,010 --> 00:02:38,780 و چه یک برنامه وب است، مرتب کردن بر اساس دلخواه، اما من حدس می زنم این ایده، 56 00:02:38,780 --> 00:02:42,110 آن چیزی است که بیش از یک وب سایت و آن را یک نرم افزار مفید است. 57 00:02:42,110 --> 00:02:46,081 >> بنابراین، فلاسک یک چارچوب برای است ساخت برنامه های وب با استفاده از پایتون. 58 00:02:46,081 --> 00:02:48,330 و امیدوارم، در پایان از این، من شما را متقاعد خواهد 59 00:02:48,330 --> 00:02:52,210 که شما در واقع می تواند چیزی ارسال مانند CS50 مالی با استفاده از پایتون، که من 60 00:02:52,210 --> 00:02:53,950 مانند خیلی بهتر از پی اچ پی، شخصا. 61 00:02:53,950 --> 00:02:57,320 >> بنابراین، فلاسک است، که آنها را microframework، که توسط آن، 62 00:02:57,320 --> 00:02:59,800 آنها به معنی آن را بسیار ساده است، اما توسعه. 63 00:02:59,800 --> 00:03:02,980 بنابراین، آن را فقط به آنچه که شما نیاز دارید، اما اگر می خواهید ویژگی های بیشتری، 64 00:03:02,980 --> 00:03:04,522 آن را آسان به آنها را در آورد. 65 00:03:04,522 --> 00:03:06,480 اما فقط به خاطر آن است که یک microframework، نمی کند 66 00:03:06,480 --> 00:03:08,960 این معنی است که آن را تنها برای پروژه های کوچک. 67 00:03:08,960 --> 00:03:12,590 من یک لینک در اینجا است که می گوید که اوباما در سال 2012 مورد استفاده قرار فلاسک 68 00:03:12,590 --> 00:03:14,410 برای مبارزات انتخاباتی خود وب سایت، که امیدوارم، 69 00:03:14,410 --> 00:03:16,937 چیزی از یک تایید است. 70 00:03:16,937 --> 00:03:18,770 اما چیزی که من واقعا در مورد فلاسک دوست 71 00:03:18,770 --> 00:03:22,401 است که، آن را واقعا نمی کند هر نوع تصمیم گیری را برای شما. 72 00:03:22,401 --> 00:03:24,150 فقط به خاطر اینکه ما صحبت کردن در مورد برنامه های وب، 73 00:03:24,150 --> 00:03:26,940 من آن را نسبت به روبی در ریل و جنگو، که هر دو 74 00:03:26,940 --> 00:03:30,450 می چارچوب بزرگ است، اما آنها هر دو فرض 75 00:03:30,450 --> 00:03:33,600 در مورد چگونه می خواهید به با پایگاه داده ارتباط برقرار کنید، 76 00:03:33,600 --> 00:03:36,900 چگونه می خواهید به ارائه خود را دیدگاه ها، و آنها قطعا هستید 77 00:03:36,900 --> 00:03:38,850 جنبه های خوب به آن. 78 00:03:38,850 --> 00:03:41,490 >> به عنوان مثال، روبی در آهن این سیستم ثبت فعال، 79 00:03:41,490 --> 00:03:43,100 است که واقعا خوب راهی برای تعامل با داده ها، 80 00:03:43,100 --> 00:03:45,960 اما اگر شما می خواهید به استفاده روبی در ریل، شما در حال مرتب کردن بر اساس به آن گره خورده است. 81 00:03:45,960 --> 00:03:47,835 اما با فلاسک، به عنوان من شما با چيز كوچك و جزئي نشان می دهد، 82 00:03:47,835 --> 00:03:49,830 شما می توانید هر نوع استفاده از پایگاه داده شما می خواهید، 83 00:03:49,830 --> 00:03:53,980 و شما فقط می توانید بکشید که در به عنوان یک فرمت به فلاسک. 84 00:03:53,980 --> 00:03:56,350 >> به همین دلیل من واقعا مانند فلاسک، آن است که آن را 85 00:03:56,350 --> 00:04:01,170 کند فرض برای شما می سازد نیست بر اساس چیزهایی که شما واقعا نیاز نیست. 86 00:04:01,170 --> 00:04:04,440 >> بنابراین، چرا باید به شما فلاسک استفاده کنید؟ 87 00:04:04,440 --> 00:04:08,230 مزایای استفاده، آن را فقط واقعا ویژگی های اصلی 88 00:04:08,230 --> 00:04:09,420 ساخته شده را به آن که شما نیاز دارید. 89 00:04:09,420 --> 00:04:11,980 بنابراین، شما لازم نیست که به نگرانی در مورد درک یک دسته کامل از همه چیز 90 00:04:11,980 --> 00:04:13,175 که شما واقعا نیاز. 91 00:04:13,175 --> 00:04:15,060 شما لازم نیست که به نگرانی در به در مورد خاموش کردن ویژگی 92 00:04:15,060 --> 00:04:16,620 که شما واقعا نیاز. 93 00:04:16,620 --> 00:04:21,082 >> و همانطور که اشاره کردم، آن را فوق العاده آسان برای اضافه کردن پسوند در همه چیز 94 00:04:21,082 --> 00:04:21,790 که شما لازم. 95 00:04:21,790 --> 00:04:24,700 برخی از آنها، فلاسک است پشتیبانی خود را برای آن است. 96 00:04:24,700 --> 00:04:28,230 بنابراین چیزی به نام فلاسک وجود دارد مدیریت، که آینه که محیط مدیریت 97 00:04:28,230 --> 00:04:32,060 پانل که جنگو فراهم می کند، که به شما می دهد یک راه خوب بصری 98 00:04:32,060 --> 00:04:33,405 برای اداره وب سایت خود را. 99 00:04:33,405 --> 00:04:35,280 اما باز هم، اگر شما ساخت چیزی ساده، 100 00:04:35,280 --> 00:04:39,550 شما احتمالا یک مدیر بزرگ نیاز ندارد پانل، بنابراین من فکر می کنم که فوق العاده خوب است. 101 00:04:39,550 --> 00:04:45,940 و معایب هستند، که شما قدرت کمتری دارند، در خارج از جعبه. 102 00:04:45,940 --> 00:04:49,660 بنابراین، هنگامی که برای اولین بار وارد فلاسک، و در برنامه های پایتون خود را، 103 00:04:49,660 --> 00:04:53,150 شما فقط از فلاسک نوع واردات *، یا هر چیز، 104 00:04:53,150 --> 00:04:55,957 شما دقیقا نمی گرفتن همه ویژگی های شما ممکن است بخواهید. 105 00:04:55,957 --> 00:04:58,540 و بنابراین شما به صراحت بیشتری داشته لیست ویژگی شما می خواهید. 106 00:04:58,540 --> 00:05:01,990 به طوری که یک نقطه ضعف است، اما من فکر می کنم که برای ساخت وب کوچک 107 00:05:01,990 --> 00:05:04,782 برنامه های مانند من قصد دارم به نشان می شود شما، که واقعا یک مشکل نیست. 108 00:05:04,782 --> 00:05:07,281 و چه آخرین چیزی است قرار است به می گویند، که یک تایپی، 109 00:05:07,281 --> 00:05:10,240 است که کمتر استاندارد وجود دارد کنوانسیون برای چگونگی استفاده از فلاسک، 110 00:05:10,240 --> 00:05:12,400 فقط به خاطر اینکه به عنوان بسیاری وجود دارد مردم که از آن استفاده حرفه ای 111 00:05:12,400 --> 00:05:13,191 در مقایسه با جنگو می باشد. 112 00:05:13,191 --> 00:05:16,380 بنابراین، اگر شما چیزی شبیه، "چگونه می توانم بکنم X" در جنگو، 113 00:05:16,380 --> 00:05:18,190 شما احتمالا آن را پیدا کنید. 114 00:05:18,190 --> 00:05:20,260 >> طراحی خوب وجود دارد شما می توانید الگوهای استفاده کنید، 115 00:05:20,260 --> 00:05:22,660 اما با فلاسک، آن را مرتب کردن بر اساس راه خود را، 116 00:05:22,660 --> 00:05:24,850 فقط به خاطر اینکه این یک کتابخانه خیلی کوچک است. 117 00:05:24,850 --> 00:05:27,100 بنابراین کسانی که معایب، اما من فکر می کنم 118 00:05:27,100 --> 00:05:29,370 که آن را هنوز هم یک کتابخانه خوب استفاده کنید. 119 00:05:29,370 --> 00:05:31,909 >> بنابراین اجازه دهید فقط پرش به سمت راست فلاسک. 120 00:05:31,909 --> 00:05:34,200 این است که قطعا نمی به یک آموزش کامل، 121 00:05:34,200 --> 00:05:37,480 اما آن را به شما ایده بدهد از چگونه به ساختار چیز، 122 00:05:37,480 --> 00:05:40,790 و به همین ترتیب به شما احساس راحتی رفتن و به دنبال در اسناد و مدارک 123 00:05:40,790 --> 00:05:42,570 و پیدا کردن بیشتر. 124 00:05:42,570 --> 00:05:48,500 >> بنابراین، من اجازه باز کردن واقعا به عنوان مثال ساده در ابتدا، 125 00:05:48,500 --> 00:05:50,737 و شما چه که نشان می دهد به نظر می رسد، و پس از آن ما 126 00:05:50,737 --> 00:05:52,070 شکستن آن را کمی بیشتر. 127 00:05:52,070 --> 00:05:56,160 >> بنابراین این اینجا، اجازه دهید آن در حال اجرا. 128 00:05:56,160 --> 00:06:06,800 129 00:06:06,800 --> 00:06:09,750 بنابراین، من در حال حاضر برنامه در حال اجرا است. 130 00:06:09,750 --> 00:06:15,910 من قصد دارم برای باز کردن سافاری و آن در حال اجرا بر روی میزبان محلی من. 131 00:06:15,910 --> 00:06:19,360 بنابراین من فقط رفتن را به این بزرگتر است. 132 00:06:19,360 --> 00:06:23,960 اما localhost را: 5000 133 00:06:23,960 --> 00:06:27,650 >> و بنابراین، در حال حاضر، این همه است، هنگامی که شما بازدید از وب سایت، 134 00:06:27,650 --> 00:06:31,490 آن را چاپ "سلام فلاسک،" است که فوق العاده مفید نیست، 135 00:06:31,490 --> 00:06:34,630 اما من فکر می کنم که آن را سرد در این فایل کمی در اینجا، 136 00:06:34,630 --> 00:06:37,390 ما یک وب سرور در حال اجرا است که چاپ کردن چیزی. 137 00:06:37,390 --> 00:06:40,500 بنابراین، اجازه دهید در واقع نگاه در کد برای یک ثانیه، 138 00:06:40,500 --> 00:06:43,080 و شکستن آن را کمی. 139 00:06:43,080 --> 00:06:45,260 آیا به اندازه خوب است برای همه که اینجا هستید؟ 140 00:06:45,260 --> 00:06:51,560 >> بنابراین، امیدوارم، شما تا حدودی هستید راحت با استفاده از پایتون. 141 00:06:51,560 --> 00:06:55,820 من فرض کنید که ما می توانیم در نگاه پایتون و از طریق آن را بخوانید. 142 00:06:55,820 --> 00:06:59,290 اگر شما هر گونه سوال در مورد دارند هر چیزی، من همچنین می توانید بیش از آن برود. 143 00:06:59,290 --> 00:07:03,974 >> بنابراین خط اول است، از فلاسک، ما به واردات، فلاسک با سرمایه "F" 144 00:07:03,974 --> 00:07:06,140 که نوعی از همه ویژگی های کلیدی است که شما نیاز دارید. 145 00:07:06,140 --> 00:07:08,890 هر زمان که شما در حال نوشتن یک فایل و با استفاده از فلاسک، 146 00:07:08,890 --> 00:07:12,120 شما در حال رفتن به می خواهم به واردات است که، فقط به خاطر است که همه چیز اصلی. 147 00:07:12,120 --> 00:07:15,400 چیزی که بعد از ما، ما است این تابع فلاسک، فقط 148 00:07:15,400 --> 00:07:19,270 برای ایجاد یک شی برنامه، و شما همیشه می خواهم به انجام این کار. 149 00:07:19,270 --> 00:07:25,960 >> و پس از آن، پریدن به پایین به سرعت، این بخش در اینجا این است، 150 00:07:25,960 --> 00:07:28,760 "if_name _ ==" _ main_ "'است که مرتب کردن بر اساس یک قرارداد پایتون. 151 00:07:28,760 --> 00:07:32,750 بنابراین این تنها اگر شما اجرا خواهد شد این فایل به طور مستقیم با استفاده از پایتون را اجرا کنید. 152 00:07:32,750 --> 00:07:36,040 پس از آن، ما پاسخ app.run، که در واقع شروع به برنامه رفتن. 153 00:07:36,040 --> 00:07:39,570 >> بنابراین، که ساختار اصلی که شما در هر برنامه فلاسک دارند، 154 00:07:39,570 --> 00:07:48,550 است شما این را دارند برنامه = فلاسک (_name_)، و سپس app.run. 155 00:07:48,550 --> 00:07:54,940 >> بنابراین، دو چیز است که من در اینجا، آنچه که ما مسیرهای پاسخ. 156 00:07:54,940 --> 00:07:57,150 بنابراین، اجازه دهید بحث در مورد مسیریابی کمی بیشتر. 157 00:07:57,150 --> 00:07:58,430 من به اسلاید بروید. 158 00:07:58,430 --> 00:08:02,540 >> بنابراین اساسی ترین مفهوم در فلاسک مسیریابی است. 159 00:08:02,540 --> 00:08:06,750 و آن را ایده که شما اختصاص توابع در پایتون 160 00:08:06,750 --> 00:08:11,280 به آدرس خاص بر روی صفحه وب خود را. 161 00:08:11,280 --> 00:08:13,930 بنابراین، هر زمان که شما می خواهید برای ایجاد یک مسیر جدید، 162 00:08:13,930 --> 00:08:16,500 شما استفاده از این app.route @ دکوراتور تابع. 163 00:08:16,500 --> 00:08:19,770 بنابراین، اگر شما با آن آشنا هستند تزئینات تابع در پایتون، 164 00:08:19,770 --> 00:08:24,160 به این مفهوم است که اجازه می دهد تا شما را به یک تابع 165 00:08:24,160 --> 00:08:26,800 و آن را احاطه کرده با چیز دیگری. 166 00:08:26,800 --> 00:08:30,140 >> پس در واقع، این دکوراتور می کند، است که طول می کشد تابع در زیر آن، 167 00:08:30,140 --> 00:08:33,409 و می افزاید: اطلاعات بیشتر به آن، اما آنچه در واقع فلاسک 168 00:08:33,409 --> 00:08:37,480 می کند که اتفاق می افتد فوق العاده نیست بسیار مهم است، اما آنچه مهم است، 169 00:08:37,480 --> 00:08:43,640 است که قبل از مسیر، شما قرار دادن این @ app.route، و سپس 170 00:08:43,640 --> 00:08:46,480 آدرس از مسیر، به طوری که بریده بریده چیزی است که ما 171 00:08:46,480 --> 00:08:48,360 دیدم زمانی که ما فقط باز کردن صفحه وب. 172 00:08:48,360 --> 00:08:49,580 به طوری که در صفحه اصلی است. 173 00:08:49,580 --> 00:08:51,037 این فقط مسیر بریده بریده است. 174 00:08:51,037 --> 00:08:52,370 و سپس شما باید این تابع. 175 00:08:52,370 --> 00:08:54,453 نام تابع می تواند هر آنچه شما می خواهید. 176 00:08:54,453 --> 00:08:56,930 این لزوما لازم نیست که باید با مسیر. 177 00:08:56,930 --> 00:08:59,440 و پس از آن، هر چه بازگشتی تابع، 178 00:08:59,440 --> 00:09:01,730 تابع باید یک رشته بازگشت. 179 00:09:01,730 --> 00:09:03,740 و این رشته می توانید شامل HTML و یا هر چیزی، 180 00:09:03,740 --> 00:09:06,920 و این است که در واقع چه خواهد شد به مرورگر وب خود را به عنوان HTML بازگشت، 181 00:09:06,920 --> 00:09:08,200 و آن را ارائه کند. 182 00:09:08,200 --> 00:09:12,030 >> بنابراین این همان کد است که از مثال 183 00:09:12,030 --> 00:09:16,430 که من فقط فرار، تا زمانی که بازدید بریده بریده ما، این یک تابع سلام جهان، تماس های که 184 00:09:16,430 --> 00:09:20,470 تنها یک رشته، سلام فلاسک می گرداند، و می شود که بر روی صفحه نمایش چاپ شده است. 185 00:09:20,470 --> 00:09:27,290 >> بنابراین به عنوان مثال دیگری وجود دارد، است که، هنگامی که شما بازدید / سلام، 186 00:09:27,290 --> 00:09:30,370 آن را چاپ سلام ورد، که در واقع باید گفت، سلام جهان، 187 00:09:30,370 --> 00:09:32,010 اما بیایید وانمود که عمدی بود. 188 00:09:32,010 --> 00:09:35,140 بنابراین اجازه دهید جلو که واقعی سریع است. 189 00:09:35,140 --> 00:09:41,290 >> بنابراین اگر شما به localhost را / سلام، آن چیز دیگری چاپ می کند. 190 00:09:41,290 --> 00:09:45,680 به طوری که فقط یک مثال سریع از چگونه است شما می توانید دو مسیر مختلف ایجاد کنید. 191 00:09:45,680 --> 00:09:50,630 >> بنابراین، تا کنون این فوق العاده مفید نیست، است بسیار شما می توانید انجام دهید وجود ندارد، 192 00:09:50,630 --> 00:09:55,360 شما فقط می تواند انجام تمام کارهایی که با داشتن صفحات HTML مختلف، 193 00:09:55,360 --> 00:09:58,000 و هنگام مراجعه به یک خاص صفحه فقط بارهای در صفحه. 194 00:09:58,000 --> 00:10:00,864 بنابراین اجازه دهید که برخی بیشتر چیزهای مفید شما می توانید انجام دهید. 195 00:10:00,864 --> 00:10:03,780 بنابراین، آن چیزی است که شما ممکن است متوجه در مثال که من کشیده 196 00:10:03,780 --> 00:10:07,160 تا این است که من app.run بود (اشکال زدایی = واقعی). 197 00:10:07,160 --> 00:10:09,580 و بنابراین، آنچه این استدلال اشکال زدایی می کند، است 198 00:10:09,580 --> 00:10:14,600 که هنگامی که شما وب سرور خود را اجرا کنید، زمانی که شما در نرم افزار خود هستید، 199 00:10:14,600 --> 00:10:18,100 اگر شما یک فایل را تغییر دهید، از آن خواهد شد به طور خودکار به سرور بارگذاری کنید. 200 00:10:18,100 --> 00:10:21,160 >> و بنابراین شما در واقع نه به راه اندازی مجدد پایتون، که فوق العاده مفید است. 201 00:10:21,160 --> 00:10:24,020 من می توانم نشان می دهد که. 202 00:10:24,020 --> 00:10:26,960 اجازه بدهید من کد با خطای تایپی در آن، 203 00:10:26,960 --> 00:10:30,420 و وانمود کنید که تایپی وجود دارد قرار داده شد عمدا برای اهداف آموزنده است. 204 00:10:30,420 --> 00:10:31,625 بنابراین اضافه کردن این تماس در دهید. 205 00:10:31,625 --> 00:10:33,140 بنابراین در حال حاضر آن را می گوید سلام جهان. 206 00:10:33,140 --> 00:10:34,410 من آن را ذخیره کنید. 207 00:10:34,410 --> 00:10:36,540 و اگر ما جلو و عقب تا ترمینال، شما 208 00:10:36,540 --> 00:10:39,520 می گویند که آن را راه اندازی مجدد، چرا که آن را شناسایی تغییر، 209 00:10:39,520 --> 00:10:43,620 و بنابراین در حال حاضر زمانی که ما این صفحه را مجدد بارگذاری، آن را چاپ کردن چیزی درست است. 210 00:10:43,620 --> 00:10:45,630 >> بنابراین اشکال زدایی فوق العاده که مفید است. 211 00:10:45,630 --> 00:10:48,740 همچنین، اگر شما هر گونه مرتب کردن بر اساس یک تصادف، به طوری که 212 00:10:48,740 --> 00:10:54,370 اجازه دهید این سقوط نرم افزار با داشتن آن یک رشته نمی گرداند. 213 00:10:54,370 --> 00:10:57,540 بنابراین، اجازه دهید فقط آن را دارند بازگشت هیچ برای برخی از دلیل. 214 00:10:57,540 --> 00:11:00,810 و پس از آن زمانی که این دیدار من صفحه، آن را فقط سقوط خواهد کرد، 215 00:11:00,810 --> 00:11:04,465 اما سرور نه تنها سقوط، آن در واقع شما می دهد یک تماس فوق العاده مفید 216 00:11:04,465 --> 00:11:06,490 اثری از هر چیزی که اشتباه رفت. 217 00:11:06,490 --> 00:11:10,050 و چیزی که واقعا خوب است، که در هر گام در این تماس ردیابی، 218 00:11:10,050 --> 00:11:14,260 شما می توانید از باز کردن یک تعاملی پوسته در اینجا، و از آنچه از چاپ 219 00:11:14,260 --> 00:11:17,780 متغیرهای شما می خواهید را به یک نگاه. 220 00:11:17,780 --> 00:11:21,054 >> و به این ترتیب است که واقعا اشکال زدایی برای بدانند مفید 221 00:11:21,054 --> 00:11:23,470 آنچه در جریان است با خود سرور، و نه تنها دیدن 222 00:11:23,470 --> 00:11:28,201 چیزی در PHP مانند یک داخلی 500 خطای سرور، که فوق العاده بی فایده است. 223 00:11:28,201 --> 00:11:30,700 یک چیز به آگاهی است، که اگر شما برنامه خود را آنلاین 224 00:11:30,700 --> 00:11:34,260 پس از آن برای عموم قابل رویت، شما می هرگز نمی خوام به ترک حالت اشکال زدایی در، 225 00:11:34,260 --> 00:11:37,320 چرا که مردم در واقع می توانید استفاده از کنسول که من 226 00:11:37,320 --> 00:11:39,150 نشان داد شما برای اجرای کد دلخواه. 227 00:11:39,150 --> 00:11:42,120 >> بنابراین آنها می توانند مانند هر نسخه قابل چاپ کردن کدهای مخفی شما وجود دارد، 228 00:11:42,120 --> 00:11:44,755 آنها می توانند در دقیقا نگاه چگونه وب سایت خود به کار است. 229 00:11:44,755 --> 00:11:46,630 پس از آن واقعا مفید برای آزمایش، اما همیشه 230 00:11:46,630 --> 00:11:50,090 مطمئن شوید که آن را قبل از شما هر چیزی را منتشر آنلاین. 231 00:11:50,090 --> 00:11:56,640 >> بنابراین، هنگامی که شما با استفاده از چیزی مانند PHP، این ایده وجود دارد که 232 00:11:56,640 --> 00:11:58,920 که شما می توانید با تصویب اطلاعات بین صفحات وب 233 00:11:58,920 --> 00:12:03,620 با قرار دادن اطلاعات در واقع در URL است، که یک درخواست GET، 234 00:12:03,620 --> 00:12:07,490 اما در فلاسک، واقع شما می توانید انجام کاری از مانند آن، 235 00:12:07,490 --> 00:12:10,590 با داشتن یک مسیر است که یک متغیر به عنوان بخشی از آن است. 236 00:12:10,590 --> 00:12:14,090 >> بنابراین اگر شما در این نگاه به عنوان مثال بر روی صفحه نمایش در اینجا، 237 00:12:14,090 --> 00:12:19,930 ما باید یک مسیر که ('/ سلام /')، و بنابراین، اگر شما بازدید 238 00:12:19,930 --> 00:12:23,790 / سلام / چیزی، که چیزی در حال رفتن به واقع پر 239 00:12:23,790 --> 00:12:25,490 به متغیر name. 240 00:12:25,490 --> 00:12:27,850 و توجه کنید که تابع که همراه با آن مسیر 241 00:12:27,850 --> 00:12:31,302 است را به در پارامتر نام، به طوری که آن را در واقع خواهد شد 242 00:12:31,302 --> 00:12:32,510 دریافت به تابع منتقل می. 243 00:12:32,510 --> 00:12:34,190 >> و سپس، هنگامی که شما داخل این تابع، 244 00:12:34,190 --> 00:12:36,420 شما می توانید درمان که مانند یک متغیر معمولی پایتون، 245 00:12:36,420 --> 00:12:39,650 و به همین ترتیب پس از آن، آن را به نسخه قابل چاپ کردن سلام، و آن را 246 00:12:39,650 --> 00:12:42,000 به نام با استفاده از پر خواهد شد برخی از قالب بندی رشته است. 247 00:12:42,000 --> 00:12:48,060 >> بنابراین برای اضافه کردن قطعات به یک متغیر مسیریابی، شما با استفاده از براکت زاویه مارک. 248 00:12:48,060 --> 00:12:51,220 و در صورت تمایل، شما می توانید استفاده چه یک مبدل نامیده می شود. 249 00:12:51,220 --> 00:12:56,840 و به همین ترتیب، اگر شما این قرار حاشیه نویسی با روده بزرگ، 250 00:12:56,840 --> 00:13:00,015 شما می توانید مشخص کنید که آن را یک int، و یا شناور، یا مسیر، 251 00:13:00,015 --> 00:13:01,640 و آن را به طور خودکار تبدیل شده است. 252 00:13:01,640 --> 00:13:05,130 شما همچنین می توانید تبدیل انجام در تابع پایتون، 253 00:13:05,130 --> 00:13:09,710 فقط با استفاده از بازیگران، اما گاهی اوقات اگر شما می خواهید به اطمینان حاصل شود که آن را از نوع int است، 254 00:13:09,710 --> 00:13:12,080 شما می توانید قرار داده است که حکومت تبدیل در آن وجود دارد. 255 00:13:12,080 --> 00:13:15,930 >> بنابراین اجازه دهید یک مثال بالا بکشد از برخی از قوانین متغیر است. 256 00:13:15,930 --> 00:13:21,480 بنابراین در اینجا، این است که همان پایه ساختار با واردات از فلاسک 257 00:13:21,480 --> 00:13:25,030 فلاسک، نرم افزار = فلاسک (_name_)، و سپس آن را در حال اجرا در پایان. 258 00:13:25,030 --> 00:13:28,050 ما باید این دو متفاوت مسیرهای متغیر در اینجا. 259 00:13:28,050 --> 00:13:29,900 و یکی از اولین، است یکی که من نشان داد 260 00:13:29,900 --> 00:13:34,230 در اسلاید، که بود که آن را تنها در نام رشته طول می کشد 261 00:13:34,230 --> 00:13:35,650 و آن را چاپ کنید خوش آمدید، نام. 262 00:13:35,650 --> 00:13:41,410 >> و پس از آن، دوم یکی با استفاده از تبدیل. 263 00:13:41,410 --> 00:13:44,690 بنابراین این طور خودکار آن را تبدیل به int، و سپس دو برابر هوشمند، 264 00:13:44,690 --> 00:13:46,150 و چاپ که از. 265 00:13:46,150 --> 00:13:48,220 و ما هر نوع نیست تبدیل درون آن 266 00:13:48,220 --> 00:13:49,594 به دلیل فلاسک طول می کشد مراقبت از آن. 267 00:13:49,594 --> 00:13:53,181 بنابراین اجازه دهید این در حال اجرا. 268 00:13:53,181 --> 00:13:54,930 هنگامی که شما یک فلاسک برنامه در حال اجرا، 269 00:13:54,930 --> 00:13:58,440 شما می توانید از آن-C کنترل برای متوقف کردن سرور در حال اجرا. 270 00:13:58,440 --> 00:14:02,420 و بعد من متغیرهای اجرا خواهد شد. 271 00:14:02,420 --> 00:14:11,740 >> بنابراین اجازه دهید به localhost / سلام / بروید و عزرا امیدوارم، این به من گفتن سلام. 272 00:14:11,740 --> 00:14:14,530 273 00:14:14,530 --> 00:14:20,310 >> پس از آن به نام من گرفت، در متغیر مسیر، و آن را آن را در اینجا پر شده است. 274 00:14:20,310 --> 00:14:23,950 بنابراین من همچنین می خواهید یک سریع نشان می دهد به عنوان مثال از دو برابر شدن. 275 00:14:23,950 --> 00:14:28,600 بنابراین اگر شما به / دو / 3 بروید، آن را به خارج 6 را چاپ کنید. 276 00:14:28,600 --> 00:14:31,440 بنابراین این زمان مراقبت از تبدیل برای ما. 277 00:14:31,440 --> 00:14:34,190 >> بنابراین شما می توانید این کار را با شناور، و چیزی خاص، 278 00:14:34,190 --> 00:14:37,530 اگر شما نیاز به مشخص چیزی شبیه به یک مسیر، که اجازه می دهد اسلش آن را قبول، 279 00:14:37,530 --> 00:14:39,155 اما که باید معمولا یک موضوع باشد. 280 00:14:39,155 --> 00:14:41,480 281 00:14:41,480 --> 00:14:43,820 تا کنون ما، هنوز هم فقط بازگشت شده است 282 00:14:43,820 --> 00:14:46,320 رشته است که بسیار جالب است. 283 00:14:46,320 --> 00:14:48,730 >> ما در واقع می تواند بازگشت رشته HTML تحت اللفظی است. 284 00:14:48,730 --> 00:14:54,322 بنابراین در کد ما می توانیم چیزی وارد مانند B-برچسب آن را به حروف درشت، 285 00:14:54,322 --> 00:14:56,030 اما بیشتر زمانی که شما در واقع می خواهم نه 286 00:14:56,030 --> 00:14:58,420 به نوشتن کد HTML در کد پایتون خود را. 287 00:14:58,420 --> 00:15:01,940 این می شود واقعا کثیف، و آن را یک زمان خوب نیست. 288 00:15:01,940 --> 00:15:06,430 >> فلاسک اجازه می دهد تا ما را به جدا کردن HTML به آنچه الگو نامیده می شود، 289 00:15:06,430 --> 00:15:09,467 و بنابراین اگر شما در حال فکر کردن از نظر مدل MVC 290 00:15:09,467 --> 00:15:11,550 که شما با آن آشنا هستید، امیدوارم، از کار 291 00:15:11,550 --> 00:15:15,520 با CS50 مالی کمی، شما می توانید از فایل های پایتون فکر می کنم 292 00:15:15,520 --> 00:15:19,430 به عنوان تر از کنترل کننده، که در آن آنها در حال تعامل با هر 293 00:15:19,430 --> 00:15:20,970 مدل داده شما ممکن است. 294 00:15:20,970 --> 00:15:24,900 >> و پس از آن آنها خواستار به نمایش و انتقال اطلاعات به این دیدگاه 295 00:15:24,900 --> 00:15:28,120 برای پر کردن در اطلاعات در HTML که به آن نیاز. 296 00:15:28,120 --> 00:15:30,490 و آنچه ما تماس بگیرید این دیدگاه قالب در کلاس می باشد. 297 00:15:30,490 --> 00:15:35,280 >> بنابراین با استفاده از پایتون یکی دیگر از فلاسک ماژول است که به طور خودکار 298 00:15:35,280 --> 00:15:38,620 نصب زمانی که شما پیپ نصب فلاسک به نام معبد شینتویی که 299 00:15:38,620 --> 00:15:40,885 اجازه می دهد که شما اضافه کردن این حاشیه نویسی به HTML 300 00:15:40,885 --> 00:15:45,140 که شما بر روی صفحه نمایش، که اجازه می دهد شما در چیزهایی مانند شرطی قرار داده است، 301 00:15:45,140 --> 00:15:47,230 و حلقه به HTML. 302 00:15:47,230 --> 00:15:51,140 >> بنابراین به نظر می رسد کمی مانند که چگونه شما ممکن PHP در یک فایل HTML استفاده کنید، 303 00:15:51,140 --> 00:15:57,380 اما این فقط زمانی که فلاسک است سرور عمل می کند تا فایل HTML، 304 00:15:57,380 --> 00:16:01,610 این موتور قالب اجرا خواهد شد و تجزیه از طریق این و همه چیز در پر کنید. 305 00:16:01,610 --> 00:16:06,650 بنابراین فلاسک دارای یک تابع render_template که شما می توانید در پایین اینجا را ببینید. 306 00:16:06,650 --> 00:16:14,300 و تا زمانی که شما به این صفحه مراجعه، آن این الگو نام hello.html رندر، 307 00:16:14,300 --> 00:16:16,407 و سپس در این صفحه HTML را پر کنید. 308 00:16:16,407 --> 00:16:18,990 بنابراین اجازه دهید فقط این واقعی اجرا سریع، و ببینید چه چیزی به نظر می رسد، 309 00:16:18,990 --> 00:16:21,198 و پس از آن من از طریق یک بروید کمی با جزئیات بیشتر. 310 00:16:21,198 --> 00:16:25,380 311 00:16:25,380 --> 00:16:30,260 بنابراین، قالب های خود را در حال رفتن در پوشه قالب بروید. 312 00:16:30,260 --> 00:16:33,980 این به طور خودکار در نگاه قالب برای قالب که پوشه. 313 00:16:33,980 --> 00:16:35,615 بنابراین اجازه دهید این باز کردن. 314 00:16:35,615 --> 00:16:47,350 315 00:16:47,350 --> 00:16:50,005 بنابراین، من به عنوان مثال قالب اجرا شود. 316 00:16:50,005 --> 00:16:52,820 317 00:16:52,820 --> 00:17:03,660 >> بنابراین اگر من به آدرس / hello / عزرا بروید، آن را تا به این وحشتناک، 318 00:17:03,660 --> 00:17:05,930 تگ marquee را نفرت انگیز است که من در قرار داده است. 319 00:17:05,930 --> 00:17:08,050 بسیار خوب، بسیار پویا. 320 00:17:08,050 --> 00:17:09,349 من از طرفداران بزرگ است. 321 00:17:09,349 --> 00:17:13,900 اما اگر من فقط به، / سلام برود؟ 322 00:17:13,900 --> 00:17:15,220 پس از آن فقط می گوید سلام جهان. 323 00:17:15,220 --> 00:17:17,678 من آن را عبور نمی کند یک نام، و آن را پر در به صورت خودکار. 324 00:17:17,678 --> 00:17:22,050 بنابراین اجازه دهید ببینید که چگونه آن را انجام داد، و چگونه ما می توانید از شر است که خیمه شاید. 325 00:17:22,050 --> 00:17:26,240 >> بنابراین در اینجا، این است مرتب کردن بر اساس یک مثال جالب از، 326 00:17:26,240 --> 00:17:29,101 اگر شما با چگونگی سوئیچ آشنا هستند اظهارات در یک زبان کار می کنند. 327 00:17:29,101 --> 00:17:31,350 این است که نوعی مانند، این نوع از سقوط را از طریق، 328 00:17:31,350 --> 00:17:34,266 که در آن شما در واقع دو متصل مسیرهای مختلف برای تابع همان. 329 00:17:34,266 --> 00:17:41,190 بنابراین ما ضمیمه / سلام مسیر و در / سلام / نام مسیر برای سلام، 330 00:17:41,190 --> 00:17:45,130 و ما را مشخص using-- پایتون شما اجازه می دهد مشخص به طور پیش فرض تابع arguments-- 331 00:17:45,130 --> 00:17:48,300 بنابراین اگر هیچ نام وجود دارد، بنابراین اگر ما به تنها / سلام، 332 00:17:48,300 --> 00:17:50,680 آن را به طور خودکار فیلتر به نام به هیچ برابر است. 333 00:17:50,680 --> 00:17:55,010 >> پس ما ارائه قالب با نام = نام، 334 00:17:55,010 --> 00:17:59,510 پس از آن در پارامتر name خواهد شد به این پارامتر نام تابع برابر، 335 00:17:59,510 --> 00:18:00,730 به قالب. 336 00:18:00,730 --> 00:18:04,040 که هنوز هم توضیح نمیدهد که چگونه است تصمیم گیری برای چاپ سلام جهان، 337 00:18:04,040 --> 00:18:05,100 و یا چاپ به نام من. 338 00:18:05,100 --> 00:18:08,050 بنابراین اجازه دهید در واقع نگاه به قالب خود را، 339 00:18:08,050 --> 00:18:11,610 و ببینید که در آن است که در حال آمدن است از. 340 00:18:11,610 --> 00:18:18,680 >> بنابراین، در این الگو، ما در واقع برخی از منطق شرطی، 341 00:18:18,680 --> 00:18:20,580 که برخی از مردم استدلال می کنند، شما در واقع می 342 00:18:20,580 --> 00:18:23,730 باید مقدار زیادی از شرطی ندارد منطقی در قالب خود را است. 343 00:18:23,730 --> 00:18:26,310 باید آن را بیشتر در شود کنترل، اما برای این مثال 344 00:18:26,310 --> 00:18:27,476 آن چیزی است که بسیار کوچک است. 345 00:18:27,476 --> 00:18:31,060 بنابراین در اینجا، ما را بررسی کنید، اگر نام، به طوری که اگر نام به هیچ برابر نیست، 346 00:18:31,060 --> 00:18:33,130 اگر یک نام است که در واقع گذشت در، پس ما 347 00:18:33,130 --> 00:18:36,210 گویند سلام، نام و نام خانوادگی با هدر و خیمه، 348 00:18:36,210 --> 00:18:41,490 این HTML عادی، در غیر این صورت، ما نسخه قابل چاپ کردن سلام جهان فقط به طور معمول. 349 00:18:41,490 --> 00:18:45,820 بنابراین زن و شوهر مسائل قابل توجهی در اینجا در مورد چگونگی فرمت قالب شما، 350 00:18:45,820 --> 00:18:49,110 این است که، همه از این عبارات شرطی، 351 00:18:49,110 --> 00:18:54,475 نوع مانند ما چگونه آن را هنگامی که PHP شما به قرار دادن برخی از PHP، 352 00:18:54,475 --> 00:18:58,380 شما با استفاده از کمتر از درخواست علامت گذاری به عنوان، آن را از اینجا مشابه 353 00:18:58,380 --> 00:19:00,140 با {٪. 354 00:19:00,140 --> 00:19:02,130 >> بنابراین در اینجا، ما باید کد مشروط است. 355 00:19:02,130 --> 00:19:05,920 و سپس، هنگامی که شما واقعا می خواهید به معنای واقعی کلمه ارزیابی چیزی، و چاپ 356 00:19:05,920 --> 00:19:08,710 آن را به صفحه نمایش، شما استفاده از دو آکولاد. 357 00:19:08,710 --> 00:19:12,310 بنابراین در اینجا دو آکولاد هستند، و سپس ما نام مشخص، 358 00:19:12,310 --> 00:19:15,500 بنابراین در آن، آن را ارزیابی به نام متغیر، که 359 00:19:15,500 --> 00:19:18,860 از تصویب شد ارائه قالب تابع، 360 00:19:18,860 --> 00:19:21,484 و نه تنها چاپ ، اگر ما از این شر، 361 00:19:21,484 --> 00:19:23,150 آن را فقط نسخه قابل چاپ کردن کلمه "نام." 362 00:19:23,150 --> 00:19:26,340 بنابراین، این چیزی است که به مراقب است. 363 00:19:26,340 --> 00:19:29,792 >> بنابراین چیز دیگری که به متوجه این است که، زمانی که ما 364 00:19:29,792 --> 00:19:31,500 مایل به استفاده از عملکرد render_template، 365 00:19:31,500 --> 00:19:34,490 ما در واقع به واردات آن را به صراحت از فلاسک. 366 00:19:34,490 --> 00:19:36,915 و این یک نمونه از است پیمانه از فلاسک، 367 00:19:36,915 --> 00:19:39,290 که شما لازم نیست برای وارد چیزهایی که شما لازم نیست. 368 00:19:39,290 --> 00:19:41,290 شما فقط می توانید در را شما در واقع توابع 369 00:19:41,290 --> 00:19:43,450 لازم است که گاهی اوقات خوب، بنابراین شما لازم نیست 370 00:19:43,450 --> 00:19:46,560 باید تمام این توابع نشسته در اطراف است که شما با استفاده از، 371 00:19:46,560 --> 00:19:49,730 اما همچنین، اگر شما را فراموش کرده که شما نیاز به واردات render_template، 372 00:19:49,730 --> 00:19:52,660 شما احتمالا هشداری دریافت که به شما اجازه می دانم که. 373 00:19:52,660 --> 00:19:56,700 بنابراین، قالب است. 374 00:19:56,700 --> 00:20:01,680 >> بنابراین، ما نشان داده شده است که چگونه به صفحات وب ساده، 375 00:20:01,680 --> 00:20:04,947 و اضافه کردن منطق کمی بیشتر به آن، از نظر مسیریابی متغیر است. 376 00:20:04,947 --> 00:20:08,280 این اجازه می دهد انجام کارهای مختلف بر اساس چه URL شما برای رفتن، و همچنین پس از آن، به 377 00:20:08,280 --> 00:20:11,950 حس HTML کمی بیشتر در شرایط چگونه می خواهید به رندر است. 378 00:20:11,950 --> 00:20:14,210 شما لازم نیست برای قرار دادن تمام HTML خود را در پایتون خود را، 379 00:20:14,210 --> 00:20:16,640 اما برای تقریبا هر برنامه وب، 380 00:20:16,640 --> 00:20:21,480 شما در حال رفتن به می خواهم برخی مدل داده ها با آن همراه است. 381 00:20:21,480 --> 00:20:25,560 >> و به این ترتیب به طور سنتی، این امر چیزی شبیه به یک پایگاه داده SQL. 382 00:20:25,560 --> 00:20:30,280 و شما فقط می توانید ارتباط برقرار به طور مستقیم با SQL. 383 00:20:30,280 --> 00:20:32,190 پایتون، من فکر می کنم آن را به نام. 384 00:20:32,190 --> 00:20:33,040 از SQLite 3. 385 00:20:33,040 --> 00:20:38,454 شما فقط می توانید وارد از SQLite 3 و اجرا نمایش داده SQL به طور مستقیم، 386 00:20:38,454 --> 00:20:40,870 اما من در مورد شما نمی دانم، اما من واقعا دوست ندارم، فقط، 387 00:20:40,870 --> 00:20:42,750 نوشتن SQL استفاده کرد. 388 00:20:42,750 --> 00:20:45,350 این امر منجر به گرفتن واقعا طولانی و پیچیده است. 389 00:20:45,350 --> 00:20:49,180 >> و بنابراین، چیزی است که من می خواهم به استفاده از چیزی است که 390 00:20:49,180 --> 00:20:53,610 شناخته شده به عنوان یک ORM است که شی رابطه ای نقشه برداری. 391 00:20:53,610 --> 00:20:56,890 و نقطه یک نقشه برداری شی رابطه ای، 392 00:20:56,890 --> 00:21:00,100 این است که دو مختلف وجود دارد روش شما می توانید در مورد پایگاه داده فکر می کنم. 393 00:21:00,100 --> 00:21:03,240 >> بنابراین به عنوان مثال که استاد مالان معمولا 394 00:21:03,240 --> 00:21:07,660 با استفاده از در کلاس، جدول اکسل، که در آن است شما این سطر و این ستون ها، 395 00:21:07,660 --> 00:21:10,210 و این واقعا برای مفید چگونه آن را در SQL نمایندگی 396 00:21:10,210 --> 00:21:13,170 و چگونه شما با آن ارتباط برقرار، اما راه دیگری است که آن را در واقع 397 00:21:13,170 --> 00:21:16,390 در مورد آن فکر گاهی اوقات مفید، از نظر کلاس ها و اشیاء است. 398 00:21:16,390 --> 00:21:20,420 >> بنابراین به جای تفکر هر یک از جدول به عنوان داشتن 399 00:21:20,420 --> 00:21:23,040 این ردیف است که خاص اطلاعات، واقع شما می توانید 400 00:21:23,040 --> 00:21:26,100 از آن فکر می کنم به عنوان هر جدول یک کلاس است، 401 00:21:26,100 --> 00:21:29,810 و سپس هر نمونه از کلاس دارای خواص معینی. 402 00:21:29,810 --> 00:21:35,110 بنابراین، در این مثال، موارد کلاس را ردیف در جدول، 403 00:21:35,110 --> 00:21:37,490 و پس از آن هر یک از اموال را یک ستون از جدول. 404 00:21:37,490 --> 00:21:40,840 >> بنابراین، ORM که من دوست دارم استفاده است که به نام چيز كوچك و جزئي. 405 00:21:40,840 --> 00:21:43,520 این واقعا کوچک، نوع مانند فلاسک. 406 00:21:43,520 --> 00:21:46,760 من فکر می کنم که آنها به خوبی با هم، اما بسیاری از دیگر ORMs وجود دارد 407 00:21:46,760 --> 00:21:47,730 که شما می توانید استفاده کنید. 408 00:21:47,730 --> 00:21:52,180 یکی از محبوب تر است شناخته شده به عنوان SQLAlchemy، 409 00:21:52,180 --> 00:21:56,050 و من نمی توانم به یاد داشته باشید که چرا من در اصل چيز كوچك و جزئي بیش از SQLAlchemy را انتخاب کرد، 410 00:21:56,050 --> 00:21:58,311 و یا من به شما بگویم که چرا من فکر می کنم این یکی از بهترین، 411 00:21:58,311 --> 00:22:01,060 اما ما فقط قصد استفاده از این یکی چون من می دانم که چگونه به استفاده از آن. 412 00:22:01,060 --> 00:22:04,760 >> بنابراین، یک سوال است، چرا باید شما را ناراحت با استفاده از یک ORM، 413 00:22:04,760 --> 00:22:07,552 به جای فقط به طور مستقیم نوشتن نمایش داده شد SQL؟ 414 00:22:07,552 --> 00:22:09,760 و من فکر می کنم بهترین حالت، این است که شما در واقع نه 415 00:22:09,760 --> 00:22:11,356 ارسال به SQL استفاده کرد. 416 00:22:11,356 --> 00:22:14,480 این بسیار آسان تر، به عنوان من به شما نشان می دهد، به انجام کارهایی مانند انتخاب، درج، 417 00:22:14,480 --> 00:22:16,157 حذف، به ویژه ایجاد جداول. 418 00:22:16,157 --> 00:22:17,990 این بسیار آسان تر به ارسال یک ساختار طبقاتی، 419 00:22:17,990 --> 00:22:22,250 از آن است که به ساختار یک درست بیانیه جدول، اما یک چیز 420 00:22:22,250 --> 00:22:25,710 به آگاهی، این است که ORM بهترین حالت آن سعی خواهد کرد 421 00:22:25,710 --> 00:22:28,640 برای کشف کردن آنچه بیشتر کارآمد پرس و جوی SQL خواهد بود، 422 00:22:28,640 --> 00:22:30,110 اما گاهی اوقات آن را می شود آن اشتباه است. 423 00:22:30,110 --> 00:22:32,660 >> و به خصوص اگر شما کار با یک پایگاه داده بزرگ، 424 00:22:32,660 --> 00:22:35,557 شما می توانید متوجه شوید که یک پرس و جو که باید در حال اجرا سریع، 425 00:22:35,557 --> 00:22:36,640 است که در واقع گرفتن طولانی تر است. 426 00:22:36,640 --> 00:22:40,164 و اگر شما در زیر کاپوت نگاهی به چگونگی ORM است که به تفسیر SQL، 427 00:22:40,164 --> 00:22:42,080 ممکن است انجام کاری واقعا مسخره است 428 00:22:42,080 --> 00:22:44,371 فقط به خاطر اینکه این نوع از اشاره نیت خود را اشتباه است. 429 00:22:44,371 --> 00:22:48,080 و بار که در آن وجود داشته است من تا به حال به آن را لغو، و فقط 430 00:22:48,080 --> 00:22:52,429 اجرا نمایش داده SQL خود من، فقط چرا که آن را در یک راه عجیب و غریب تجزیه شد. 431 00:22:52,429 --> 00:22:54,220 بنابراین وجود است، برخی از سربار، فقط در راه 432 00:22:54,220 --> 00:22:58,680 که آن را کامپایل خود را دستورات را به SQL. 433 00:22:58,680 --> 00:23:06,200 >> بنابراین، اجازه دهید به سرعت نگاه فوق العاده در یک مثال ساده از یک مدل داده 434 00:23:06,200 --> 00:23:07,350 که شما ممکن است استفاده کنید. 435 00:23:07,350 --> 00:23:11,880 بنابراین، این کد پایتون، و بنابراین است اولین چیزی که شما می خواهید انجام دهید این است از 436 00:23:11,880 --> 00:23:12,950 چيز كوچك و جزئي واردات *. 437 00:23:12,950 --> 00:23:15,850 بنابراین، بر خلاف فلاسک، که در آن شما تمام این ماژول های فردی، 438 00:23:15,850 --> 00:23:18,125 و شما می خواهید برای وارد کردن فلاسک، و ارسال یک قالب، و برخی دیگر 439 00:23:18,125 --> 00:23:20,690 که ما بعد خواهید دید، از چيز كوچك و جزئي، شما فقط می توانید همه چیز را وارد کنید، 440 00:23:20,690 --> 00:23:22,290 به دلیل آن یک کتابخانه بسیار کوچک است. 441 00:23:22,290 --> 00:23:26,490 >> بنابراین، اولین چیزی که شما می خواهید به انجام است، در واقع این شی پایگاه داده ایجاد کنید. 442 00:23:26,490 --> 00:23:31,212 بنابراین، شما باید DB = SqliteDatabase، و پس از آن به نام پایگاه داده خود را. 443 00:23:31,212 --> 00:23:33,170 و این در واقع خواهد شد ایجاد یک شی پایگاه داده 444 00:23:33,170 --> 00:23:36,230 که شما می تواند با تعامل با چيز كوچك و جزئي. 445 00:23:36,230 --> 00:23:40,570 >> و پس از آن، ما باید واقعی مدل است که ما می خواهیم برای ایجاد. 446 00:23:40,570 --> 00:23:42,470 بنابراین جدول ما می خواهیم به ایجاد. 447 00:23:42,470 --> 00:23:47,270 بنابراین، در چيز كوچك و جزئي، هر طبقه جدول خود را در پایگاه داده خود را. 448 00:23:47,270 --> 00:23:52,800 بنابراین، تمام کلاس به ارث می برند از مدل پایه، 449 00:23:52,800 --> 00:23:55,960 و مدل M سرمایه است چیزی است که در چيز كوچك و جزئي تعریف شده است. 450 00:23:55,960 --> 00:24:02,162 >> بنابراین، همه از مدل های خود باید به ارث می برند به عنوان بالاترین فوق خود، 451 00:24:02,162 --> 00:24:04,620 آنها باید از به ارث می برند مدل است، اما آنچه واقعا سرد، 452 00:24:04,620 --> 00:24:07,610 این است که شما در واقع می تواند خود را مدل های از یکدیگر ارث می برند. 453 00:24:07,610 --> 00:24:10,530 و بسیاری از زمان، خود را مدل های داده لزوما 454 00:24:10,530 --> 00:24:13,754 یک سلسله مراتب وراثت خوب است، اما زمان که در آن انجام می دهند، آن را واقعا خوب، 455 00:24:13,754 --> 00:24:15,920 چرا که شما باید مدل ذاتی از یکدیگر. 456 00:24:15,920 --> 00:24:19,710 >> بنابراین، ما این کلاس تعریف شده دانشجوی، که به ارث یک مدل، 457 00:24:19,710 --> 00:24:21,170 و آن را تا سه ویژگی است. 458 00:24:21,170 --> 00:24:24,080 آن را تا به ID است که PrimaryKeyField که 459 00:24:24,080 --> 00:24:26,920 چیزی است که ارائه شده است توسط چيز كوچك و جزئي، نام CharField است، 460 00:24:26,920 --> 00:24:28,490 و یک درجه IntegerField است. 461 00:24:28,490 --> 00:24:32,260 بنابراین این ممکن است یا نه ممکن است چگونه CS50 در واقع فروشگاه ها تمام 462 00:24:32,260 --> 00:24:33,650 نمرات دانش آموزان. 463 00:24:33,650 --> 00:24:36,060 آن نمی باشد، اما این است که چگونه من آن را انجام. 464 00:24:36,060 --> 00:24:37,920 >> و سپس آن را، در این کلاس، و این 465 00:24:37,920 --> 00:24:41,620 چیزی است که شما می توانید با انجام است پایتون، شما می توانید کلاس های تو در تو دارند. 466 00:24:41,620 --> 00:24:43,920 و این چیزی است که توسط چيز كوچك و جزئي مورد نیاز است. 467 00:24:43,920 --> 00:24:47,250 بنابراین، این متا کلاس، شما باید مشخص است که در پایگاه داده است 468 00:24:47,250 --> 00:24:49,830 به شی برابر که ما در بالا ایجاد شده است. 469 00:24:49,830 --> 00:24:54,339 و این می گوید فایل چه این جدول است در واقع رفتن به در مهار شود. 470 00:24:54,339 --> 00:24:57,130 پس این چیزی است که شما باید است به درون همه از مدل های خود را انجام دهید. 471 00:24:57,130 --> 00:24:59,380 شما فقط باید به مشخص در داخل این کلاس متا 472 00:24:59,380 --> 00:25:01,400 که پایگاه داده را به DB برابر است. 473 00:25:01,400 --> 00:25:03,940 پس آنچه که من معمولا، اگر من یک دسته از مدل های مختلف، 474 00:25:03,940 --> 00:25:05,910 این است که من یک پایه مدل، که من معمولا 475 00:25:05,910 --> 00:25:08,839 فقط تماس بگیرید "مدل پایه" است که کلاس های متا، 476 00:25:08,839 --> 00:25:10,380 و از آن مجموعه پایگاه داده به DB برابر است. 477 00:25:10,380 --> 00:25:13,710 و سپس تمام مدل های بعدی من را از آن کلاس پایه به ارث می برند. 478 00:25:13,710 --> 00:25:16,760 و پس از آن من نیست که نگران باشید در مورد تنظیم کلاس متا. 479 00:25:16,760 --> 00:25:21,490 >> بنابراین، هنگامی که این در واقع می شود پایین را به یک بیانیه SQL وارد شده، 480 00:25:21,490 --> 00:25:24,875 آن را مانند این چیزی تند و زننده به نظر می رسد در اینجا، "ایجاد جدول شماره دانشجویی عدد صحیح، 481 00:25:24,875 --> 00:25:26,020 " هر چه. 482 00:25:26,020 --> 00:25:30,002 >> و من فکر می کنم که آن را کوتاه تر است، این پرس و جو SQL در اینجا، 483 00:25:30,002 --> 00:25:32,960 اما اگر شما در این کلاس در اینجا نگاه کنید شما می توانید ببینید که دقیقا چه خبر است. 484 00:25:32,960 --> 00:25:36,116 شما می توانید چه نوع از زمینه ببینید وجود دارد، آنچه که آنها نامیده می شوند، 485 00:25:36,116 --> 00:25:38,115 و بنابراین، من فکر می کنم که به دنبال در این کد پایتون 486 00:25:38,115 --> 00:25:43,340 است که بسیاری قابل خواندن بیش از تلاش برای نوشتن این پرس و جو SQL. 487 00:25:43,340 --> 00:25:45,990 >> بنابراین، به منظور در واقع استفاده از پایگاه داده، 488 00:25:45,990 --> 00:25:48,470 ما باید برای اتصال به آن در پایتون. 489 00:25:48,470 --> 00:25:52,770 بنابراین، من معمولا یک تابع به نام ارسال initialize_db که دو چیز است. 490 00:25:52,770 --> 00:25:54,880 آن را در پایگاه داده را می گیرد DB شی و آن را 491 00:25:54,880 --> 00:25:58,360 متصل به آن، که فقط باز می شود تا بخش به پایگاه داده. 492 00:25:58,360 --> 00:26:00,860 اگر شما فقط در حال اجرا هر چند وب سایت در ماشین محلی خود، 493 00:26:00,860 --> 00:26:04,320 آن است که یک معامله فوق العاده بزرگ به نگرانی نیست در مورد اتصال و جدا کردن، 494 00:26:04,320 --> 00:26:06,885 اما اگر شما در حال اجرا هستند آن را در یک وب سایت، شما 495 00:26:06,885 --> 00:26:10,010 می خواهید مطمئن شوید که، هر زمان که یک کاربر متصل به آن، زمانی که آنها بستن 496 00:26:10,010 --> 00:26:12,270 وب سایت، آنها به طوری که شما قطع یک دسته از مردم متصل نیست 497 00:26:12,270 --> 00:26:14,480 به پایگاه داده خود همه در یک بار. 498 00:26:14,480 --> 00:26:16,370 >> و سپس، هنگامی که شما اتصال به پایگاه داده، 499 00:26:16,370 --> 00:26:20,832 شما می خواهید به پاسخ db.create_tables، و لیست مدل برای آنچه شما می خواهید 500 00:26:20,832 --> 00:26:21,540 برای ایجاد جداول. 501 00:26:21,540 --> 00:26:23,950 بنابراین در اینجا، من فقط به آن را ایجاد کنید برای این دانش آموز. 502 00:26:23,950 --> 00:26:28,070 و پس از آن، آنچه که مهم است، به مشخص امن = واقعی ترین زمان. 503 00:26:28,070 --> 00:26:30,380 پس چه این بیانیه انجام خواهد داد، این است که آن 504 00:26:30,380 --> 00:26:33,580 استفاده از جدول برای ایجاد مدل دانش آموز، اما تنها 505 00:26:33,580 --> 00:26:36,109 در صورتی که جدول دارای نمی ایجاد شده در حال حاضر. 506 00:26:36,109 --> 00:26:37,400 که آنچه را مشخص امن است. 507 00:26:37,400 --> 00:26:39,150 بنابراین آن را نمی خواهد بازنویسی جدول های موجود شما، 508 00:26:39,150 --> 00:26:41,525 آن را تنها یک جدیدی ایجاد خواهد کرد جدول اگر یکی وجود دارد. 509 00:26:41,525 --> 00:26:45,090 بنابراین، شما فقط می تواند ایجاد جداول بار با استفاده از SQL. 510 00:26:45,090 --> 00:26:49,410 و پس از آن که پایگاه داده نشسته وجود دارد، و پس از آن در هر زمان اتصال، 511 00:26:49,410 --> 00:26:52,450 اما معمولا خوب فقط به در این پاسخ create_tables قرار داده است، 512 00:26:52,450 --> 00:26:55,550 به طوری که، اگر شما همیشه حذف خود را پایگاه داده زمانی که شما وب سایت خود را اجرا 513 00:26:55,550 --> 00:26:57,960 برنامه دوباره، آن را آن را بازسازی کنید. 514 00:26:57,960 --> 00:27:00,730 >> بنابراین، فقط مطمئن شوید که امن مشخص شده است درست باشد، 515 00:27:00,730 --> 00:27:03,580 و یا شما اطلاعات خود را فقط پیدا کردن گرفتن clobbered در هر زمان. 516 00:27:03,580 --> 00:27:06,380 و پس از آن، شما فقط می توانید تماس بگیرید initialize_db به ایجاد 517 00:27:06,380 --> 00:27:09,820 یک اتصال، و ایجاد جداول در صورت لزوم. 518 00:27:09,820 --> 00:27:13,150 >> بنابراین، چیزی که رایج ترین که شما می خواهید انجام دهید، 519 00:27:13,150 --> 00:27:15,920 و یا یکی از چیزهایی که رایج ترین، است که در واقع قرار دادن همه چیز 520 00:27:15,920 --> 00:27:17,170 به پایگاه داده خود را. 521 00:27:17,170 --> 00:27:19,430 و به این ترتیب، به جای داشتن برای نوشتن یک INSERT INTO 522 00:27:19,430 --> 00:27:21,990 بیانیه با تمام مقادیر مشخص، 523 00:27:21,990 --> 00:27:24,650 شما می توانید در واقع پاسخ تابع در کلاس دانش آموز. 524 00:27:24,650 --> 00:27:28,200 بنابراین، هنگامی که شما یک کلاس ایجاد که به ارث برده از مدل، 525 00:27:28,200 --> 00:27:30,200 آن را تا به این روش ایجاد کنید. 526 00:27:30,200 --> 00:27:33,870 >> بنابراین، شما name.create کلاس، و شما در پارامترها را مشخص 527 00:27:33,870 --> 00:27:35,260 که شما می خواهید به تصویب در. 528 00:27:35,260 --> 00:27:39,200 بنابراین، اگر من می خواهم به اضافه کردن برخی از دانش آموزان به عنوان مثال ما کتاب کلاس CS50، 529 00:27:39,200 --> 00:27:41,820 من در دیوید قرار داده است، که دارای یک درجه بسیار خوب است، او یک 95. 530 00:27:41,820 --> 00:27:45,100 و خودم، که انجام نمی تا به خوبی در CS50، من یک 50. 531 00:27:45,100 --> 00:27:47,600 و بنابراین، چیز خوب در مورد این تابع را ایجاد می کند، 532 00:27:47,600 --> 00:27:53,040 این است که آن را می گرداند به عنوان مثال، یا ردیف، که آن را در جدول ایجاد شده، 533 00:27:53,040 --> 00:27:55,750 و پس شما ذخیره است که در یک متغیر، و کار با آن است. 534 00:27:55,750 --> 00:27:58,830 شما می توانید در اطراف تغییر دهید، که من یک نمونه از نشان می دهد. 535 00:27:58,830 --> 00:28:03,050 >> توجه کنید که من نمی باید برای مشخص کردن ID، 536 00:28:03,050 --> 00:28:09,340 چون از آن است که PrimaryKeyField، به طور خودکار 537 00:28:09,340 --> 00:28:10,930 سود آن اگر شما آن را مشخص نمی کند. 538 00:28:10,930 --> 00:28:12,250 و، در واقع، شما احتمالا باید آن را مشخص نیست، 539 00:28:12,250 --> 00:28:14,810 زیرا شما ممکن است به طور تصادفی کتک زدن ID شخص دیگری است. 540 00:28:14,810 --> 00:28:16,830 و می خواهید مطمئن مطمئن شوید که آن را منحصر به فرد. 541 00:28:16,830 --> 00:28:20,662 >> بنابراین، در واقع، بیشتر چیز مشترک می خواهید انجام دهید، 542 00:28:20,662 --> 00:28:22,620 احتمالا انتخاب کنید خارج از پایگاه داده هنگامی که شما 543 00:28:22,620 --> 00:28:24,078 یک مقدار زیادی از اطلاعات در آن وجود دارد. 544 00:28:24,078 --> 00:28:27,360 و به همین ترتیب، اگر شما می خواهید برای دریافت همه چیز، به طوری که معادل ستاره را انتخاب کنید 545 00:28:27,360 --> 00:28:30,940 از بیانیه دانش آموزان، آن فقط student.select باشد. 546 00:28:30,940 --> 00:28:34,380 و است که شما را از یک آرایه را با تمام دانش آموزان اشیاء در آن 547 00:28:34,380 --> 00:28:35,770 که شما تکرار بیش از شما می خواهید. 548 00:28:35,770 --> 00:28:37,019 شما می توانید همه چیز از آن دریافت کنید. 549 00:28:37,019 --> 00:28:39,310 و بسیاری از زمان، شما نه تنها می خواهید به انجام انتخاب کنید، 550 00:28:39,310 --> 00:28:40,935 شما واقعا می خواهید برای مشخص چیزی. 551 00:28:40,935 --> 00:28:44,580 و به این ترتیب، شما می توانید زنجیره ای با هم این فراخوانی تابع، 552 00:28:44,580 --> 00:28:48,830 مانند که چگونه شما زنجیره ای با هم اظهارات در SQL. 553 00:28:48,830 --> 00:28:53,002 بنابراین شما می توانید student.select انجام (). که در آن در این مثال. 554 00:28:53,002 --> 00:28:54,710 و پس از آن، شما می توانید مشخص شرایط، 555 00:28:54,710 --> 00:28:57,880 فقط با استفاده از معمولی پایتون Booleans می برای بررسی مسائل. 556 00:28:57,880 --> 00:29:02,110 >> بنابراین، در این مورد، شما می خواهید محدود کردن آنچه شما انتخاب به، 557 00:29:02,110 --> 00:29:06,790 که در آن student.grade تا 50 برابر است، و student.name به عزرا برابر است، 558 00:29:06,790 --> 00:29:09,130 به طوری که فقط من از آن را دریافت. 559 00:29:09,130 --> 00:29:11,340 و متوجه، واقعا چیزی ظریف در اینجا این است 560 00:29:11,340 --> 00:29:15,570 که، اگر شما می خواهید برای مشخص an و / و یا یک یا / و یا، 561 00:29:15,570 --> 00:29:19,840 در پایتون، شما به طور معمول استفاده کنید، من فکر می کنم کلمه "و" در واقع، 562 00:29:19,840 --> 00:29:23,351 اما در اینجا شما با استفاده از علامت تک، که به طور معمول یک عملگر بیتی است، 563 00:29:23,351 --> 00:29:25,600 اما در این مورد خاص، فقط راه چيز كوچك و جزئي آن را ندارد، 564 00:29:25,600 --> 00:29:27,660 شما با استفاده از تنها علامت برای مشخص "و" 565 00:29:27,660 --> 00:29:29,451 این چیزی است که که من مخلوط تا مقدار زیادی، 566 00:29:29,451 --> 00:29:32,530 اما نمی آیند تا که در عمل. 567 00:29:32,530 --> 00:29:36,350 >> و سپس، هنگامی که شما همه دانش آموزان در خارج از پایگاه داده، 568 00:29:36,350 --> 00:29:39,420 هنگامی که شما انجام داده اند که شما انتخاب کنید هستید و لباس یا هر چیز دیگری را، 569 00:29:39,420 --> 00:29:42,334 شما می توانید یک حلقه foreach استفاده کنید، درست مثل طبیعی در پایتون، 570 00:29:42,334 --> 00:29:44,500 با هر نوع تکرارکننده و یا با هر نوع آرایه است. 571 00:29:44,500 --> 00:29:46,333 بنابراین شما می توانید انجام دهید، برای بازدید کنندگان در student.select (). م 572 00:29:46,333 --> 00:29:52,930 RE (Student.grade <75) و بنابراین این تکرار بیش از هر دانش آموز در جدول 573 00:29:52,930 --> 00:29:56,260 که کمتر از 75 درجه است، که در این مورد، هنوز فقط به من. 574 00:29:56,260 --> 00:29:59,218 و پس از آن شما می تواند چیزی در انجام که حلقه مانند من یک ایمیل بفرستید 575 00:29:59,218 --> 00:30:01,680 و من به واقع به به نوبه خود در مجموعه ای مشکل من است. 576 00:30:01,680 --> 00:30:04,550 >> بنابراین، یک چیز دیگر که شما می توانید انجام است، آن را واقعا آسان 577 00:30:04,550 --> 00:30:06,460 برای به روز رسانی ردیف در جدول. 578 00:30:06,460 --> 00:30:08,720 بنابراین، به یاد داشته باشید در اینجا، خود را زمانی که من قرار داده، 579 00:30:08,720 --> 00:30:11,440 من در زمان ارزش بود بازگردانده شده توسط student.create، 580 00:30:11,440 --> 00:30:14,920 و من آن را به نام به نام عزرا اختصاص داده است. 581 00:30:14,920 --> 00:30:18,995 و بنابراین در حال حاضر، شما می توانید تغییر ارزش ها در این مثال، 582 00:30:18,995 --> 00:30:20,870 درست مثل شما می توانید یک کلاس عادی در پایتون. 583 00:30:20,870 --> 00:30:25,060 >> بنابراین شما می توانید ezra.grade = 95 و که کپی محلی به روز رسانی، 584 00:30:25,060 --> 00:30:28,380 اما اگر شما واقعا می خواهید مرتکب که تغییر به پایگاه داده، 585 00:30:28,380 --> 00:30:31,410 شما باید به ezra.save پاسخ، بنابراین شما روش .save نام 586 00:30:31,410 --> 00:30:32,650 در نمونه. 587 00:30:32,650 --> 00:30:38,085 >> و بنابراین در حال حاضر، من با موفقیت تغییر درجه خود من در پایگاه داده باشد. 588 00:30:38,085 --> 00:30:41,210 بنابراین، پس از آن اجازه دهید بگویم که من گرفتار تغییر کلاس من در پایگاه داده. 589 00:30:41,210 --> 00:30:44,126 استاد مالان احتمالا به می خواهم به من از کلاس را حذف کنید، 590 00:30:44,126 --> 00:30:48,630 و بنابراین شما می توانید .delete پاسخ روش به عنوان مثال فقط در آن چیز است. 591 00:30:48,630 --> 00:30:51,674 >> بنابراین، اگر شما می خواستم برای رفتن به این حلقه در اینجا، 592 00:30:51,674 --> 00:30:53,465 و در واقع، به جای از ارسال ایمیل همه 593 00:30:53,465 --> 00:30:56,577 از دانش آموزان کلاس که کمتر است از 75، شما می خواستم به آنها را حذف کنید، 594 00:30:56,577 --> 00:30:58,660 در این حلقه شما می توانید به عنوان مثال s.delete پاسخ. 595 00:30:58,660 --> 00:31:04,180 596 00:31:04,180 --> 00:31:07,780 و آخرین چیزی که می خواهید انجام دهید، هر زمان که شما یک اتصال ایجاد، 597 00:31:07,780 --> 00:31:10,350 و شما را با کار خود را انجام می شود، شما می خواهید به پاسخ db.close، 598 00:31:10,350 --> 00:31:13,190 که در آن DB که پایگاه داده است شی که ما قبل بود. 599 00:31:13,190 --> 00:31:18,290 و شما می خواهید مطمئن شوید که همه چیز را از بسته می شود. 600 00:31:18,290 --> 00:31:18,790 >> خنک. 601 00:31:18,790 --> 00:31:22,410 بنابراین در حال حاضر، من یک مثال کاربردی. 602 00:31:22,410 --> 00:31:26,880 من از پیش ساخته شده همه چیز را فقط به طوری که وجود خواهد داشت هیچ گونه برنامه نویسی زندگی می کنند نیست 603 00:31:26,880 --> 00:31:30,220 اشتباهات، اما ما می توانیم از طریق راه رفتن آن را و ببینید که چگونه شما می فلاسک قرار 604 00:31:30,220 --> 00:31:33,685 و چيز كوچك و جزئي با هم، و ایجاد یک برنامه ساده است. 605 00:31:33,685 --> 00:31:38,680 من آن را بیهوده گویی CS50، و آن را مرتب کردن بر اساس یک پلت فرم ساده وبلاگ. 606 00:31:38,680 --> 00:31:41,150 >> بنابراین، اولین بار، من آن را اجرا کنید و نشان می دهد آنچه به نظر می رسد، 607 00:31:41,150 --> 00:31:42,890 و پس از آن ما می توانیم بیشتر به کد نگاه کنید. 608 00:31:42,890 --> 00:32:00,470 609 00:32:00,470 --> 00:32:02,830 خوب، پس اجازه دهید فقط این را اجرا کنید. 610 00:32:02,830 --> 00:32:14,040 611 00:32:14,040 --> 00:32:17,250 سرد، من این را کمی کوچکتر است. 612 00:32:17,250 --> 00:32:20,000 این بسیار زیبا نیست، فقط به خاطر من بسیاری از CSS را ندارد، 613 00:32:20,000 --> 00:32:23,255 اما آنچه آن است، آن را تا این پایگاه داده از پست های وبلاگ، 614 00:32:23,255 --> 00:32:25,630 و آن را از طریق تمام می رود آنها، و آنها را نمایش داده خواهد شد 615 00:32:25,630 --> 00:32:28,170 در صفحه در از جدید ترین. 616 00:32:28,170 --> 00:32:30,920 و بنابراین این تنها برخی ها پست ها که من در پایگاه داده ذخیره کرده بود. 617 00:32:30,920 --> 00:32:35,680 >> بنابراین اگر ما می خواهیم برای ایجاد یک جدید پست، ما می توانید به اضافه کردن یک پست جدید، 618 00:32:35,680 --> 00:32:42,720 و ما می توانیم به عنوان را وارد کنید پست، بنابراین چیزی شبیه به، سمینار CS50. 619 00:32:42,720 --> 00:32:45,360 620 00:32:45,360 --> 00:32:46,735 وای، واقعا لذت بردن از این سمینار است. 621 00:32:46,735 --> 00:32:51,070 622 00:32:51,070 --> 00:32:52,270 >> خنک. 623 00:32:52,270 --> 00:32:56,060 سپس شما ارسال را فشار دهید، و آن را تغییر مسیر شما را به صفحه اصلی، 624 00:32:56,060 --> 00:33:00,039 و پس از آن شما خواهید دید که آخرین پست اضافه شد. 625 00:33:00,039 --> 00:33:01,580 و ما هنوز همه آنهایی که وجود دارد. 626 00:33:01,580 --> 00:33:08,080 بنابراین در حال حاضر، اجازه دهید از طریق تمام گام کد و ببینید که چگونه این اجرا شده است. 627 00:33:08,080 --> 00:33:11,995 >> بنابراین، من فکر می کنم اولین چیزی که اجازه دهید نگاهی به، در واقع مدل. 628 00:33:11,995 --> 00:33:14,120 بسیاری از زمان، هنگامی که شما در حال طراحی چیزی، 629 00:33:14,120 --> 00:33:17,036 شما می خواهید برای اولین بار در مورد چگونه فکر می کنم شما در حال رفتن به نمایندگی از داده های خود، 630 00:33:17,036 --> 00:33:22,915 و سپس به طراحی همه چیز در اطراف آن، طوری که همه چیز را حس می کند. 631 00:33:22,915 --> 00:33:25,290 و این است که در واقع چگونه من آن را انجام داد زمانی که من در ساخت این، 632 00:33:25,290 --> 00:33:28,030 من نشستم و فکر کردم، چه در یک پست می خواهم. 633 00:33:28,030 --> 00:33:32,130 >> بنابراین، در اینجا، ما همان ساختار که قبلا ذکر شد، 634 00:33:32,130 --> 00:33:33,755 که در آن ما DB = Sqldatabase ('posts.db'). 635 00:33:33,755 --> 00:33:37,840 636 00:33:37,840 --> 00:33:40,980 در واقعیت، شما احتمالا نمی خواهید به کد سخت در پایگاه داده های نام خود را. 637 00:33:40,980 --> 00:33:43,730 که احتمالا باید یک پارامتر که در جایی ذخیره، شاید 638 00:33:43,730 --> 00:33:45,940 در یک فایل پیکربندی، اما در یک مثال کوچک مانند این، 639 00:33:45,940 --> 00:33:48,310 آن را خوب به کد سخت است که در. 640 00:33:48,310 --> 00:33:53,510 >> بنابراین در حال حاضر، ما باید این کلاس پست، که به ارث از مدل پایه. 641 00:33:53,510 --> 00:33:56,930 و آن را تا، دوباره، ID = PrimaryKeyField. 642 00:33:56,930 --> 00:34:02,250 در واقع، اگر شما مشخص نیست، اگر من در واقع از این شر، 643 00:34:02,250 --> 00:34:07,152 پس از آن چيز كوچك و جزئي ما خواهد شد مراقبت از به طور خودکار ایجاد که درست ID، 644 00:34:07,152 --> 00:34:09,360 و این به طور خودکار آن را به یک PrimaryKey که 645 00:34:09,360 --> 00:34:12,485 من فکر می کنم واقعا خوب، چون معمولا، این چیزی است که شما می خواهید به است، 646 00:34:12,485 --> 00:34:16,239 اما من دوست دارم به آن را در به طور خاص، فقط تا من به یاد داشته باشید که آن را در وجود دارد. 647 00:34:16,239 --> 00:34:19,480 اما اگر شما مشخص نیست که، که به طور خودکار وجود خواهد داشت. 648 00:34:19,480 --> 00:34:22,198 >> بنابراین پس از آن، من یک تاریخ است که DateTimeField است، و همه 649 00:34:22,198 --> 00:34:24,864 این زمینه های مختلف، اگر شما در اسناد و مدارک چيز كوچك و جزئي نگاه کنید، 650 00:34:24,864 --> 00:34:28,920 آن را به شما یک لیست از مختلف می دهد نوع از زمینه های که شما می توانید استفاده کنید. 651 00:34:28,920 --> 00:34:34,440 در اکثر موارد، این شبیه به آنچه شما را در SQL را ببینید. 652 00:34:34,440 --> 00:34:37,699 بنابراین یک CharField وجود دارد، یک VarCharFields، TextFields، 653 00:34:37,699 --> 00:34:40,550 که برای بسیار طولانی است متون، مانند یک پست وبلاگ 654 00:34:40,550 --> 00:34:44,460 به طور بالقوه، DateTimeFields، DoubleFields، FloatFields، 655 00:34:44,460 --> 00:34:46,100 همه چیز شبیه به آن. 656 00:34:46,100 --> 00:34:51,570 >> و شما می توانید در بحث های دیگر منتقل می به آن، که من در اینجا مشخص نیست. 657 00:34:51,570 --> 00:34:55,719 می گویند، برای مثال، شما نمی خواست اجازه می دهد دو پست به همین عنوان، 658 00:34:55,719 --> 00:34:59,672 شما می توانید مشخص کنید چیزی شبیه به منحصر به فرد = درست است، 659 00:34:59,672 --> 00:35:02,880 و این فقط یک پارامتر اضافی به این زمینه که زمانی که آن را کامپایل کردن آن 660 00:35:02,880 --> 00:35:06,865 به SQL، آن را مشخص خواهد که آن را به منحصر به فرد. 661 00:35:06,865 --> 00:35:09,740 شما همچنین می توانید چیزی شبیه به مشخص تهی نیست و تمام چیزهای دیگر 662 00:35:09,740 --> 00:35:11,750 شما به طور معمول در SQL است. 663 00:35:11,750 --> 00:35:16,020 بنابراین، این است که بسیار ساده است مدل است که از تاریخ. 664 00:35:16,020 --> 00:35:19,460 توجه داشته باشید در اینجا، در DateTimeField، من مشخص چه به طور پیش فرض است. 665 00:35:19,460 --> 00:35:22,560 من آن را مشخص می شود عبارت datetime.datetime.now، 666 00:35:22,560 --> 00:35:24,920 به دلیل راه که این می شود مورد بررسی، 667 00:35:24,920 --> 00:35:28,750 آن را در واقع ارزیابی datetime.now که 668 00:35:28,750 --> 00:35:32,110 آن را می شود در پایگاه داده وارد می شود. 669 00:35:32,110 --> 00:35:34,760 >> من فکر می کنم که، من می خواهم که به دو برابر بررسی این 670 00:35:34,760 --> 00:35:38,222 اما اگر شما چیزی شبیه به این انجام داد، سپس آن را در واقع می ارزیابی که یک بار، 671 00:35:38,222 --> 00:35:40,180 و پس از آن تاریخ ساعت همیشه یکسان باشد. 672 00:35:40,180 --> 00:35:44,240 بنابراین، فقط اگر شما در حال انجام چیزی با datetimes، دو برابر چک 673 00:35:44,240 --> 00:35:47,080 که آن را ارزیابی که در واقع قرار داده می شود، و یا دیگری 674 00:35:47,080 --> 00:35:48,780 شما ممکن است اشتباه گرفته شود. 675 00:35:48,780 --> 00:35:51,221 >> عنوان فقط یک CharField که وجود دارد 676 00:35:51,221 --> 00:35:53,970 استدلال بیشتر شما می توانید تصویب در تعیین دقیقا چه مدت شما 677 00:35:53,970 --> 00:35:56,170 خواهید آن را به، اما در اینجا، آن واقعا مهم نیست. 678 00:35:56,170 --> 00:35:58,687 و متن است برای رفتن به متن طیف پست، 679 00:35:58,687 --> 00:36:01,020 و این برای رفتن به یک تکست فیلد فقط به خاطر اینکه شما می خواهید 680 00:36:01,020 --> 00:36:03,370 اجازه می دهد تا آن را به یک رشته بسیار طولانی است. 681 00:36:03,370 --> 00:36:05,970 >> پس ما باید این متا زیر کلاس که فقط 682 00:36:05,970 --> 00:36:11,250 مشخص می کند که ما می خواهیم در پایگاه داده که در آن این است که در واقع به باز 683 00:36:11,250 --> 00:36:14,267 به موضوع DB که ما را در اینجا. 684 00:36:14,267 --> 00:36:16,350 و آخرین چیزی که ما باید در اینجا، فقط این تابع این است 685 00:36:16,350 --> 00:36:18,120 که ما قصد داریم به استفاده از برنامه اصلی ما 686 00:36:18,120 --> 00:36:23,970 برای مقدار دهی اولیه پایگاه داده برای اتصال به آن، و سپس به ایجاد جدول ارسال. 687 00:36:23,970 --> 00:36:26,880 >> در حال حاضر، اجازه دهید در برنامه اصلی خود نگاه کنید. 688 00:36:26,880 --> 00:36:30,800 پس این یکی کاملا کمی طولانی تر از آنهایی که 689 00:36:30,800 --> 00:36:34,840 که ما قبل از دیده می شود، اما امیدوارم خیلی بد نیست. 690 00:36:34,840 --> 00:36:37,140 بنابراین، اجازه دهید من این گسترش است. 691 00:36:37,140 --> 00:36:38,370 باشه. 692 00:36:38,370 --> 00:36:42,070 >> بنابراین، توجه و بالای من وارد یک دسته کامل از چیزهای دیگر 693 00:36:42,070 --> 00:36:44,129 از فلاسک که ما نه واقعا قبل از دیده می شود. 694 00:36:44,129 --> 00:36:46,670 و امیدوارم، ما می توانید از طریق هر یک از این یک به یک 695 00:36:46,670 --> 00:36:49,420 و صحبت کمی بیشتر در مورد آنها، به عنوان مثال طبقه بندی شده اند. 696 00:36:49,420 --> 00:36:51,380 بنابراین، ما باید فلاسک، و render_template، 697 00:36:51,380 --> 00:36:54,370 که ما قبل از دیده می شود، این شی درخواست، 698 00:36:54,370 --> 00:37:00,400 که خواهد آمد تا زمانی که ما در نحوه نگاه فرم است که من در واقع نشان دادن 699 00:37:00,400 --> 00:37:01,170 آثار. 700 00:37:01,170 --> 00:37:04,850 تغییر مسیر، که به شما اجازه تغییر مسیر تماس از نوشته ی تازه 701 00:37:04,850 --> 00:37:11,710 بازگشت به صفحه خانگی اصلی، و سپس URL، چیزی است که شما اجازه می دهد تا که 702 00:37:11,710 --> 00:37:15,550 شکل که در آن بر روی وب سایت یک صفحه خاص است. 703 00:37:15,550 --> 00:37:17,810 >> بنابراین پس از آن، بعد از چیزی که من، من واردات است 704 00:37:17,810 --> 00:37:21,550 تمام اطلاعات از مدل های فایل های که ما فقط دنبال شد در. 705 00:37:21,550 --> 00:37:23,140 و، آره. 706 00:37:23,140 --> 00:37:28,720 >> بنابراین، چیز دیگری است که می آید جدید تا زمانی که شما در حال برخورد با، 707 00:37:28,720 --> 00:37:31,850 به ویژه پایگاه های داده، این است که شما می توانید مشخص کنید 708 00:37:31,850 --> 00:37:35,110 یک تابع می شود که قبل از به نام هر درخواست، و تابع که 709 00:37:35,110 --> 00:37:39,690 به نام بعد از هر درخواست، با استفاده از این درخواست تابع دکوراتور app.before. 710 00:37:39,690 --> 00:37:42,324 >> و این اجرا از هر کجا که این تابع است. 711 00:37:42,324 --> 00:37:44,240 این را ندارد به به نام قبل از درخواست، 712 00:37:44,240 --> 00:37:46,281 اما معمولا این چیزی است که معقول به آن تماس بگیرید. 713 00:37:46,281 --> 00:37:48,580 714 00:37:48,580 --> 00:37:51,650 شما می توانید هر تابع را مشخص شما می خواهید برای رسیدن به آنجا نامیده می شود، 715 00:37:51,650 --> 00:37:56,330 بنابراین من این initialize_db مشخص تابع است که ما در حال مدل 716 00:37:56,330 --> 00:38:02,390 فایل، بنابراین قبل از هر درخواست، شما می خواهید برای اتصال به پایگاه داده. 717 00:38:02,390 --> 00:38:04,560 >> دو مختلف وجود دارد روش شما می توانید این کار را. 718 00:38:04,560 --> 00:38:10,830 شما می توانیدapp است.، من باور آن after_request. 719 00:38:10,830 --> 00:38:13,800 و تفاوت بین after_request و teardown_request، 720 00:38:13,800 --> 00:38:17,590 این است که after_request تنها اتفاق خواهد افتاد در صورت درخواست در واقع معتبر بود. 721 00:38:17,590 --> 00:38:20,440 و بنابراین، تنها در صورتی که درخواست موفق بود، 722 00:38:20,440 --> 00:38:22,490 اگر چیزی را اشتباه رفت، اما teardown_request 723 00:38:22,490 --> 00:38:26,300 در مورد یک اتفاق می افتد موفق درخواست، و یا در مورد یک خطا. 724 00:38:26,300 --> 00:38:28,252 >> بنابراین، معمولا، شما می خواهید به استفاده از teardown_request، 725 00:38:28,252 --> 00:38:30,460 مگر اینکه شما می خواهید به انجام چیزی، به خصوص مختلف 726 00:38:30,460 --> 00:38:31,470 در مورد یک خطا. 727 00:38:31,470 --> 00:38:35,122 اما فقط برای بستن پایگاه داده، آیا آن را موفق می شود یا اگر نتواند، 728 00:38:35,122 --> 00:38:37,080 ما آیا شما می خواهید به قطع از پایگاه داده باشد. 729 00:38:37,080 --> 00:38:41,240 بنابراین آن را به نام، db.close بر روی شی دسی بل. 730 00:38:41,240 --> 00:38:43,740 >> توجه داشته باشید که teardown_request در یک استثنا طول می کشد. 731 00:38:43,740 --> 00:38:46,781 بنابراین شما می توانید بررسی کنید که آیا در واقع وجود دارد خطا در هنگام بسته شدن آن پایین بود، 732 00:38:46,781 --> 00:38:49,390 اما در اینجا، امیدوارم، وجود دارد یک کل بسیاری از اشتباهات، 733 00:38:49,390 --> 00:38:52,720 بنابراین ما فقط از نادیده گرفتن است. 734 00:38:52,720 --> 00:38:55,990 >> خوب، و بقیه از آن است خیلی بد نیست. 735 00:38:55,990 --> 00:39:02,240 بنابراین، هنگامی که ما به صفحه اصلی بروید، ما ارائه این الگو home.html 736 00:39:02,240 --> 00:39:03,490 که باز خواهد شد. 737 00:39:03,490 --> 00:39:06,240 پاس در پست به، و آنچه این برابر 738 00:39:06,240 --> 00:39:10,260 می کند، به یاد داشته باشید که ما این ارسال مدل، بنابراین ما انتخاب همه نوشته ها، 739 00:39:10,260 --> 00:39:13,890 و پس از آن چیز دیگری که شما می توانید انجام دهید، شما می توانید بند که در آن مشخص کنید، 740 00:39:13,890 --> 00:39:16,910 شما می توانید یک مشخص سفارش توسط، و بنابراین ما را 741 00:39:16,910 --> 00:39:18,820 همه پست که گرفتن انتخاب شده، و پس از آن 742 00:39:18,820 --> 00:39:22,590 ما آنها را سفارش توسط post.date.descending. 743 00:39:22,590 --> 00:39:25,030 و مشخص خواهد شد، زمانی آنها در واقع بیرون می آیند، 744 00:39:25,030 --> 00:39:29,250 یکی از جدید ترین خواهد بود یکی از اولین. 745 00:39:29,250 --> 00:39:31,420 >> و پس از آن، ما که به تصویب قالب home.html، 746 00:39:31,420 --> 00:39:34,240 بنابراین اجازه دهید در واقع باز کردن که الگو واقعا سریع، 747 00:39:34,240 --> 00:39:36,760 و نگاهی به چگونه است که کار می کند. 748 00:39:36,760 --> 00:39:42,130 و این است که HTML بزرگ نیست، اما امیدوارم، ما می توانیم در پایتون تمرکز می کنند. 749 00:39:42,130 --> 00:39:46,960 >> بنابراین یک لینک به اضافه کردن جدید وجود دارد ارسال، و بنابراین این مشخص مسیر 750 00:39:46,960 --> 00:39:51,580 در فلاسک که ما تعریف است، که در اینجا ببینید. 751 00:39:51,580 --> 00:39:56,310 این پست مسیر جدید است، و ما مشخص است که تا اینجا. 752 00:39:56,310 --> 00:40:00,450 و به طوری که یک لینک است که پس از آن خواهد شد به آن مسیر در سرور فلاسک. 753 00:40:00,450 --> 00:40:03,820 >> نکته جالب در این حلقه در اینجا است. 754 00:40:03,820 --> 00:40:07,685 بنابراین ما مشخص است که این ارسال پارامتر که 755 00:40:07,685 --> 00:40:09,560 به تصویب رسید عملکرد render_template، 756 00:40:09,560 --> 00:40:13,550 برای هر پست در پست ها در شی می شود که در گذشت. 757 00:40:13,550 --> 00:40:16,600 ما می خواهیم برای چاپ کردن عنوان پست، در H1، 758 00:40:16,600 --> 00:40:21,930 و سپس در زیر، ما می خواهیم برای چاپ کردن متن ارسال در یک پاراگراف. 759 00:40:21,930 --> 00:40:25,710 >> و در اینجا، ما در واقع می توانید فراخوانی یک تابع پایتون، 760 00:40:25,710 --> 00:40:35,130 بنابراین ما تابع strftime می توانید تماس بگیرید، ST-RF-زمان، و شما می توانید در رشته فرمت عبور 761 00:40:35,130 --> 00:40:37,064 که شما می خواهید به چاپ اطلاعات در. 762 00:40:37,064 --> 00:40:39,980 پس از آن خیلی خوب که شما می توانید در واقع این تابع پایتون پاسخ 763 00:40:39,980 --> 00:40:41,090 از درون است. 764 00:40:41,090 --> 00:40:44,370 شما لازم نیست که به انجام قالب بندی در سمت کنترلر، زیرا در واقع، 765 00:40:44,370 --> 00:40:47,770 قالب بندی تاریخ چیزی است که می خواهید برای مقابله در نمایش. 766 00:40:47,770 --> 00:40:51,480 >> و همه از این درصد همه چیز فوق العاده مهم نیست. 767 00:40:51,480 --> 00:40:55,270 اگر شما نگاه کردن اسناد و مدارک برای تابع تابع strftime در پایتون، 768 00:40:55,270 --> 00:40:57,040 همه ی این مشخص همه چیز، اما این 769 00:40:57,040 --> 00:40:59,190 چگونه، زمانی که ما به دنبال در صفحه اصلی در اینجا، 770 00:40:59,190 --> 00:41:04,440 این فرمت با خوب تاریخ، و آن را مشخص AM یا PM، 771 00:41:04,440 --> 00:41:09,410 اما به طور معمول، اگر ما این در اینجا وجود ندارد، 772 00:41:09,410 --> 00:41:14,024 شما احتمالا خواهید دریافت برخی از زباله تاریخ است که به نظر نمی آید بسیار خوب است. 773 00:41:14,024 --> 00:41:15,940 و سپس ما مشخص post.text، و من می توانم 774 00:41:15,940 --> 00:41:19,460 یک زن و شوهر از قرار داده اند پرش به خط در اینجا، فقط 775 00:41:19,460 --> 00:41:21,820 برای قرار دادن برخی فضاهای بین هر پست. 776 00:41:21,820 --> 00:41:26,270 >> بنابراین، من فکر می کنم مهمترین چیزی که در این مثال، 777 00:41:26,270 --> 00:41:28,697 این است که شما می توانید این حلقه استفاده کنید. 778 00:41:28,697 --> 00:41:30,780 و این شبیه به است همه چیز شما می توانید در PHP را انجام دهد. 779 00:41:30,780 --> 00:41:32,905 شما می توانید از طریق تکرار، همه چیز می شود به تصویب رسید در، 780 00:41:32,905 --> 00:41:36,719 و بنابراین، به جای نیاز به انجام کپی / چسباندن، کپی / چسباندن همه HTML، 781 00:41:36,719 --> 00:41:40,010 شما فقط باید به آن نوشتن یک بار، و پس از آن شما می توانید تکرار بیش از همه از پست. 782 00:41:40,010 --> 00:41:41,510 >> و این چیزی است مشترک است که شما می خواهید 783 00:41:41,510 --> 00:41:44,510 انجام دهید، هنگامی که شما به بسیاری از داده ها، این است که برای همه چیز در داده های خود، 784 00:41:44,510 --> 00:41:48,370 شما می خواهید برای انجام یک چیز مشابه است. 785 00:41:48,370 --> 00:41:51,690 و پس از آن، فقط به یاد داشته باشید، که زمانی که شما می خواهید برای چاپ کردن چیزی به صراحت 786 00:41:51,690 --> 00:41:54,780 در HTML، شما با استفاده از پرانتز دو در اینجا، 787 00:41:54,780 --> 00:41:57,820 اما پس از آن زمانی که می خواهید برای مشخص برخی از اطلاعات در مورد یک وضعیت، 788 00:41:57,820 --> 00:42:02,430 و یا در مورد یک حلقه for، شما استفاده از درصد براکت. 789 00:42:02,430 --> 00:42:08,730 >> بنابراین، رفتن به پایتون کد، به طوری که توضیح می دهد 790 00:42:08,730 --> 00:42:12,242 آنچه که در اصلی اتفاق می افتد مسیر، زمانی که ما رفتن وجود دارد، 791 00:42:12,242 --> 00:42:14,450 فقط نمایش تمام پست، اما پس از درخواست 792 00:42:14,450 --> 00:42:17,440 است، چگونه ما در واقع پست ها را به پایگاه داده، که 793 00:42:17,440 --> 00:42:18,970 کمی جالب تر است. 794 00:42:18,970 --> 00:42:23,960 >> بنابراین، هنگامی که شما در جدید کلیک کنید ارسال لینک، که ما در اینجا دیدم، 795 00:42:23,960 --> 00:42:26,000 آن شما تغییرمسیر به این شکل. 796 00:42:26,000 --> 00:42:29,580 و این فقط یک تماس ساده به این عملکرد render_template، که پس از آن 797 00:42:29,580 --> 00:42:32,110 عبور در پست جدید در فرم HTML. 798 00:42:32,110 --> 00:42:36,212 بنابراین اجازه دهید نگاهی به که. 799 00:42:36,212 --> 00:42:37,420 پس این یکی خیلی ساده است. 800 00:42:37,420 --> 00:42:45,110 از آن است که یک فرم HTML ساده، که کمی آشنا نگاه کنید، 801 00:42:45,110 --> 00:42:47,380 بر اساس فرم در CS50 مالی. 802 00:42:47,380 --> 00:42:49,940 و بنابراین، ما در اینجا مشخص، عمل است. 803 00:42:49,940 --> 00:42:52,435 و در اینجا، اگر شما در حال کار با پی اچ پی، به طور معمول، 804 00:42:52,435 --> 00:42:55,930 خواهد بود چیزی شبیه، create.PHP، اما در اینجا 805 00:42:55,930 --> 00:42:59,960 ما در واقع یک مسیر مشخص در سرور فلاسک. 806 00:42:59,960 --> 00:43:02,520 و به این ترتیب، مربوط به این مسیر به مسیر ایجاد 807 00:43:02,520 --> 00:43:05,680 که ما در اینجا، که ما را به در یک ثانیه است. 808 00:43:05,680 --> 00:43:07,630 >> و بنابراین، ما مشخص است که این یک روش پست، 809 00:43:07,630 --> 00:43:09,820 زیرا ما می خواهیم به ارسال این فرم اطلاعات، و معمولا 810 00:43:09,820 --> 00:43:12,945 زمانی که شما ارسال اطلاعات از یک فرم، شما ممکن است مایل به استفاده از یک درخواست POST، 811 00:43:12,945 --> 00:43:15,760 فقط شما می پایان ندارد تا با این بزرگ، URL گنده. 812 00:43:15,760 --> 00:43:18,970 اما شما همچنین می تواند یک درخواست GET استفاده کنید، و با تصویب آن در با متغیر مسیریابی، 813 00:43:18,970 --> 00:43:21,170 اما برای قالب، آن را به خوبی به درخواست پست ارسال کنید. 814 00:43:21,170 --> 00:43:24,620 و به این ترتیب پس از آن، فقط از شما می خواهم با HTML و PHP را انجام دهید، 815 00:43:24,620 --> 00:43:28,420 شما می توانید این ورودی متن را مشخص کنید، و شما می توانید نام آنها را مشخص کنید، 816 00:43:28,420 --> 00:43:33,490 و این که نام که گذشت خواهد کرد به شی درخواست در فلاسک. 817 00:43:33,490 --> 00:43:36,960 >> و سپس ما یک ارسال دکمه که می گوید ارسال. 818 00:43:36,960 --> 00:43:40,760 و در اینجا، ارسال نام است را فشار دهید، چرا که آن را یک پست وبلاگ است، 819 00:43:40,760 --> 00:43:42,700 اما در اینجا، پست روش درخواست است. 820 00:43:42,700 --> 00:43:47,060 بنابراین کسانی که همان کلمه اما در واقع نامربوط. 821 00:43:47,060 --> 00:43:48,460 آره 822 00:43:48,460 --> 00:43:54,800 >> رفتن به کد پایتون، هنگامی که ما به نام روش ایجاد، 823 00:43:54,800 --> 00:43:57,702 متوجه اینجا که شما می توانید در واقع در درون مسیر مشخص 824 00:43:57,702 --> 00:44:00,650 روش درخواست که شما می خواهید به پذیرش، 825 00:44:00,650 --> 00:44:04,770 و بنابراین در اینجا، من که من را مشخص فقط می خواهید برای قبول یک روش ارسال. 826 00:44:04,770 --> 00:44:09,800 بنابراین، اگر من در واقع سعی کنید برای بازدید از صفحه به طور مستقیم، است که با استفاده یک درخواست GET، 827 00:44:09,800 --> 00:44:11,700 آن را به من بگویید "روش مجاز نمی باشد." 828 00:44:11,700 --> 00:44:15,840 >> و به این ترتیب، شما باید صفحات، نوع مانند این صفحه ایجاد کنید، که من فقط هستم 829 00:44:15,840 --> 00:44:20,192 واقعا با استفاده از به عنوان یک راه را برای فرم به ارسال، 830 00:44:20,192 --> 00:44:22,900 شما می توانید مشخص کنید که به شما نمی کنند می خواهم مردم را قادر به رفتن وجود دارد 831 00:44:22,900 --> 00:44:25,650 طور مستقیم از طریق یک درخواست GET، و یا اگر شما نمی خواهم، 832 00:44:25,650 --> 00:44:28,580 به چند دلیل، یک درخواست POST، شما فقط می تواند مشخص به اینجا برسم، 833 00:44:28,580 --> 00:44:32,720 اما در این مثال، ما فقط می خواهید به پست درخواست به بیرون بروید. 834 00:44:32,720 --> 00:44:38,700 >> بنابراین، هنگامی که create_post نامیده می شود، که ما از طریق پست درخواست بازدید از آن، 835 00:44:38,700 --> 00:44:43,600 هر زمان که شما به یک خاص است مسیر، این شیء را درخواست وجود دارد، 836 00:44:43,600 --> 00:44:46,640 و ما مجبور به واردات درخواست در بالا بسیار، 837 00:44:46,640 --> 00:44:49,640 اما این درخواست وجود دارد شی می شود که در گذشت، 838 00:44:49,640 --> 00:44:53,210 و شما می توانید داده های فرم دسترسی داشته باشید، که به طور خودکار پر 839 00:44:53,210 --> 00:44:55,070 زمانی که شما یک درخواست از یک فرم را ارسال کنید. 840 00:44:55,070 --> 00:44:56,990 >> و پس از آن، چه من فکر می کنم واقعا سرد است، است 841 00:44:56,990 --> 00:45:02,840 که جسم فرم را به منتقل می در، فقط یک دیکشنری پایتون است که 842 00:45:02,840 --> 00:45:10,560 شامل، اگر شما بنابراین در اینجا access--، اجازه دهید من را بالا بکشد HTML در کنار آن، فقط 843 00:45:10,560 --> 00:45:17,670 بنابراین شما می توانید که به عنوان یک مرجع، بله، به طوری که 844 00:45:17,670 --> 00:45:21,060 نام که ما در اینجا مشخص برای زمینه های مختلف، به طوری که 845 00:45:21,060 --> 00:45:23,900 عنوان و متن، ما پس از آن فقط کسانی که بیش از اینجا استفاده کنید 846 00:45:23,900 --> 00:45:27,110 به عنوان شاخص را به داده های فرم. 847 00:45:27,110 --> 00:45:28,950 به طوری که فوق العاده راحت است. 848 00:45:28,950 --> 00:45:33,320 >> پس ما post.create پاسخ که ایجاد خواهد شد و به طور خودکار وارد 849 00:45:33,320 --> 00:45:36,850 ارسال این پست شی جدید به پایگاه داده. 850 00:45:36,850 --> 00:45:40,690 و من فکر می کنم این تابع ایجاد در اینجا یک مثال از چگونگی واقعا سرد است 851 00:45:40,690 --> 00:45:44,900 قدرتمند فلاسک و کار با این، چرا که اگر شما انجام عملی 852 00:45:44,900 --> 00:45:48,660 در پی اچ پی، شما ممکن است به انجام بسیاری از اعتبار سنجی، 853 00:45:48,660 --> 00:45:51,730 شما می توانید به پس از آن ایجاد یک اتصال به پایگاه داده، 854 00:45:51,730 --> 00:45:55,210 شما می توانید به پس از آن پرس و جو SQL اجرا، 855 00:45:55,210 --> 00:45:59,550 اما در اینجا ما فقط این خوبی داشته باشید post.create، که ما پس از آن می توانید فقط 856 00:45:59,550 --> 00:46:01,520 دریافت اطلاعات از از شی درخواست، 857 00:46:01,520 --> 00:46:05,370 و سپس آن را تصویب به جدید ارسال که ما در حال ایجاد. 858 00:46:05,370 --> 00:46:07,850 >> و پس از آن، آخرین چیزی که ما خواهید انجام دهید، 859 00:46:07,850 --> 00:46:09,630 است به تغییر مسیر تماس کاربر را به صفحه اصلی. 860 00:46:09,630 --> 00:46:13,020 و بنابراین ما از این استفاده کنید فلاسک تغییر مسیر تابع. 861 00:46:13,020 --> 00:46:17,770 و چیزی است که ما تا به حال ندیده قبل از این، این تابع URL بود. 862 00:46:17,770 --> 00:46:21,970 بنابراین URL به شما اجازه می دهد برای عملکرد شما در واقع به نام عبور 863 00:46:21,970 --> 00:46:26,090 از یک تابع در کد پایتون، به جای مسیر خاص 864 00:46:26,090 --> 00:46:26,720 که آن را در. 865 00:46:26,720 --> 00:46:32,107 >> بنابراین من می تواند به راحتی دارند هدایت یک کاربر برای بریده بریده، 866 00:46:32,107 --> 00:46:37,050 که آن را برگشت به خانه، اما با استفاده از URL برای عملکرد خوب است، 867 00:46:37,050 --> 00:46:39,990 چرا که اگر شما تغییر محل که در آن همه چیز، 868 00:46:39,990 --> 00:46:44,080 بنابراین اجازه دهید بگویم که من تغییر خانه به در / خانه به جای آن، 869 00:46:44,080 --> 00:46:47,040 این هنوز هم پس از بازگشت / خانه، زیرا در واقع می رود و به نظر می رسد تا 870 00:46:47,040 --> 00:46:50,770 نام تابع، و آن به شما پشت URL برای آن. 871 00:46:50,770 --> 00:46:52,490 >> بنابراین، بر روی فرض که شما 872 00:46:52,490 --> 00:46:55,489 به احتمال زیاد تغییر در آن همه چیز هستند، از اسامی توابع. 873 00:46:55,489 --> 00:46:58,840 شما می توانید این واقعا استفاده URL خوب برای تابع. 874 00:46:58,840 --> 00:47:02,470 و یک چیز به آگاهی از که یک کمی روی حیله و تزویر، 875 00:47:02,470 --> 00:47:05,750 این است که شما فکر می کنم شما می توانید فقط پاسخ به تغییر مسیر بر روی URL برای، 876 00:47:05,750 --> 00:47:10,600 اما در واقع همه از راه اند به بازگشت برخی از متن و HTML، 877 00:47:10,600 --> 00:47:14,360 بنابراین شما در واقع به بازگشت پاسخ تغییر مسیر. 878 00:47:14,360 --> 00:47:18,379 در غیر این صورت، شما چیزی نامعتبر در مورد بازگشت یک رشته نیست، 879 00:47:18,379 --> 00:47:21,420 چرا که همه از این مجبور به بازگشت HTML شما در واقع می خواهم برای ارائه. 880 00:47:21,420 --> 00:47:26,980 >> و به این ترتیب، هنگامی که شما پاسخ تغییر مسیر، آن را به شما تغییرمسیر به صفحه، 881 00:47:26,980 --> 00:47:30,270 اما در واقع می گرداند HTML شما نیاز به اجرای این تغییر مسیر است. 882 00:47:30,270 --> 00:47:34,430 883 00:47:34,430 --> 00:47:37,110 بازگشت به صفحه اصلی. 884 00:47:37,110 --> 00:47:39,200 بنابراین ما باید این دو دیدگاه متفاوت است. 885 00:47:39,200 --> 00:47:40,132 ما نمایش اصلی. 886 00:47:40,132 --> 00:47:41,590 یا، من حدس می زنم من باید قالب می گویند. 887 00:47:41,590 --> 00:47:44,190 ما باید این دو قالب، قالب اصلی است که 888 00:47:44,190 --> 00:47:48,500 نمایش همه پست های ما، و پس ما باید این چیزی که آگهی، 889 00:47:48,500 --> 00:47:52,970 و هنگامی که شما با کلیک بر روی پست، از آن می رود به یک مسیر جدید در فلاسک، 890 00:47:52,970 --> 00:47:55,920 اما مسیر لزوما یک قالب مربوطه. 891 00:47:55,920 --> 00:47:59,290 892 00:47:59,290 --> 00:48:01,560 شما لازم نیست برای دیدن هر چیزی، اما شما می توانید 893 00:48:01,560 --> 00:48:04,090 این کار رفتن در پشت صحنه. 894 00:48:04,090 --> 00:48:07,450 و سپس شما را هدایت می شوید به صفحه اصلی بازگشت. 895 00:48:07,450 --> 00:48:12,230 و قطعا، آن را آسان به کار در برخی از CSS بهتر به قالب 896 00:48:12,230 --> 00:48:15,580 و این نگاه خیلی بهتر است، اما همه از منطق اصلی 897 00:48:15,580 --> 00:48:18,590 در پایتون وجود دارد. 898 00:48:18,590 --> 00:48:20,020 >> هرگونه سوال در مورد این مثال؟ 899 00:48:20,020 --> 00:48:22,760 من می دانم که بسیاری از وجود دارد از چیزهای مختلف در رفتن وجود دارد، 900 00:48:22,760 --> 00:48:25,341 بسیاری از چیزهای ندیده بودیم قبل از، اما مثل هر چیز. 901 00:48:25,341 --> 00:48:25,840 آره. 902 00:48:25,840 --> 00:48:28,346 >> مخاطبان 1: آیا شما به انجام هر کاری ویژه به مالش داده هایی را که 903 00:48:28,346 --> 00:48:29,600 در آینده از فرم؟ 904 00:48:29,600 --> 00:48:31,109 من متوجه شما فقط گفت: "ایجاد" 905 00:48:31,109 --> 00:48:33,900 EZRA زیگمند: آره، به طوری که در واقع، که یک نقطه واقعا خوب است. 906 00:48:33,900 --> 00:48:36,350 بنابراین سوال این بود، شما نیاز به بررسی و مطمئن شوید که 907 00:48:36,350 --> 00:48:39,190 که داده معتبر است، و انجام هر نوع از شستشو 908 00:48:39,190 --> 00:48:41,840 مطمئن شوید که آن معتبر است، چرا که به عنوان شما در اینجا می توانید ببینید، 909 00:48:41,840 --> 00:48:42,660 من انجام این کار نیست. 910 00:48:42,660 --> 00:48:48,140 بنابراین اجازه دهید که چه اتفاقی می افتد اگر پست من چیزی خالی است. 911 00:48:48,140 --> 00:48:51,190 بنابراین، آن را در واقع فقط یک را ارسال خالی و پر در استاندارد. 912 00:48:51,190 --> 00:48:55,990 >> پس در حقیقت، شما احتمالا می خواهم به چیزی شبیه به 913 00:48:55,990 --> 00:49:04,749 شاید مشخص اگر عنوان برابر است با رشته خالی، سپس این کار را نکنید. 914 00:49:04,749 --> 00:49:07,290 و یا، فقط آن را انجام دهید اگر عنوان به رشته خالی برابر نیست. 915 00:49:07,290 --> 00:49:10,330 پس از آن در واقع به طور خودکار مراقبت از آن را شستشو 916 00:49:10,330 --> 00:49:12,820 برای شما، بنابراین شما هنوز هم نیاز به انجام این کار. 917 00:49:12,820 --> 00:49:14,330 آره، سوال خوب است. 918 00:49:14,330 --> 00:49:18,497 >> مخاطبان 2: این اسکراب برای تزریق عاقبت؟ 919 00:49:18,497 --> 00:49:19,890 میدونی؟ 920 00:49:19,890 --> 00:49:22,830 >> EZRA زیگمند: امیدوارم، چيز كوچك و جزئي ندارد که. 921 00:49:22,830 --> 00:49:25,830 من فکر می کنم آن را قطعا خیلی می شود کتابخانه بد اگر آن کار نیست که. 922 00:49:25,830 --> 00:49:29,511 923 00:49:29,511 --> 00:49:32,690 من دقیقا نمی دانم. 924 00:49:32,690 --> 00:49:34,820 من می خواهم که در نگاه پرس و جو که آن را تولید می شود. 925 00:49:34,820 --> 00:49:38,980 من فکر می کنم که اگر من در یک تایپ پست وبلاگ که مرتب سازی بر اساس نگاه 926 00:49:38,980 --> 00:49:46,370 مانند حمله تزریق SQL، چیزی شبیه به این، اگر این 927 00:49:46,370 --> 00:49:49,370 مانند یک فیلد رمز عبور و یا چیزی، شما ممکن است چیزی شبیه به این انجام. 928 00:49:49,370 --> 00:49:53,410 >> من فکر می کنم که هنوز هم گرفتن به معنای واقعی کلمه نوشته شده، 929 00:49:53,410 --> 00:49:59,200 اما من فکر می کنم که چيز كوچك و جزئي را انجام برخی از شستشو داده ها 930 00:49:59,200 --> 00:50:01,680 قبل از آن در واقع آن را اجرا می کند. 931 00:50:01,680 --> 00:50:04,510 >> مخاطبان 1: این فیلد متنی است طراحی شده را به متن ساده، درست است؟ 932 00:50:04,510 --> 00:50:05,710 >> EZRA زیگمند: بله، در آن است. 933 00:50:05,710 --> 00:50:06,465 آره. 934 00:50:06,465 --> 00:50:09,590 بنابراین من فکر می کنم که همه از، پس این رفتار درست، که انجام این کار، 935 00:50:09,590 --> 00:50:12,170 اما من فکر می کنم که چيز كوچك و جزئي امیدوارم را انجام 936 00:50:12,170 --> 00:50:13,780 نوعی از حفاظت خود قرار دهد. 937 00:50:13,780 --> 00:50:16,090 و اگر شما به خواست بررسی کنید که وجود دارد، 938 00:50:16,090 --> 00:50:19,530 راه زمانی که شما یک پرس و جو تولید می باشد. 939 00:50:19,530 --> 00:50:22,622 بنابراین شما لازم نیست که اجرای آن به طور مستقیم. 940 00:50:22,622 --> 00:50:24,330 من می خواهم که به یک در اسناد و مدارک نگاه کنید، 941 00:50:24,330 --> 00:50:27,930 اما در واقع شما می توانید مشاهده SQL آن است که تولید، 942 00:50:27,930 --> 00:50:30,840 و نگاهی که در آن، و مطمئن شوید که آن در حال فرار است. 943 00:50:30,840 --> 00:50:33,700 >> دلیل دیگری که چرا شما ممکن است می خواهم در SQL نگاه 944 00:50:33,700 --> 00:50:37,920 که چيز كوچك و جزئي خروجی است، اگر همه چیز به نظر می رسد که واقعا به آرامی، 945 00:50:37,920 --> 00:50:41,090 شما می توانید نگاه کنند و ببینید چه چیزی آن در واقع انجام این کار، به دلیل آن را گاهی اوقات 946 00:50:41,090 --> 00:50:44,670 آسان به طور تصادفی اضافه در، راه شما آن را ارسال، 947 00:50:44,670 --> 00:50:47,880 شما به طور تصادفی می توانید آن را اول را انتخاب کنید کل پایگاه داده، 948 00:50:47,880 --> 00:50:50,230 و پس از انجام برخی از عملیات مرتب سازی بر در آن، زمانی که شما واقعا 949 00:50:50,230 --> 00:50:51,320 به معنای انتخاب یک زیر مجموعه. 950 00:50:51,320 --> 00:50:53,560 >> و بنابراین، اگر همه چیز نیست کاملا رفتن حق، 951 00:50:53,560 --> 00:50:57,300 آن را خوب به نگاهی درخواست که در واقع گرفتن تولید می شود. 952 00:50:57,300 --> 00:50:57,800 آره. 953 00:50:57,800 --> 00:51:02,100 >> مخاطبان 2: هنگامی که شما برای اولین بار شروع، شما در بندر 5000 قرار داده است. 954 00:51:02,100 --> 00:51:02,904 >> EZRA زیگمند: آره. 955 00:51:02,904 --> 00:51:06,070 مخاطبان 2: آیا طور پیش فرض با چيز كوچك و جزئي، یا این است که چیزی شما می توانید تغییر دهید؟ 956 00:51:06,070 --> 00:51:10,870 EZRA زیگمند: بله، به طوری که پورت پیش فرض با فلاسک است. 957 00:51:10,870 --> 00:51:13,061 اگر شما آن را اجرا بدون مشخص هر چیزی، 958 00:51:13,061 --> 00:51:14,310 آن را به طور خودکار انجام دهد. 959 00:51:14,310 --> 00:51:16,060 به اعتقاد من، من می خواهم که به دو برابر بررسی این 960 00:51:16,060 --> 00:51:19,130 اما شما می توانید مشخص کنید که در app.run، من فکر می کنم شما می توانید چیزی شبیه به انجام این کار، 961 00:51:19,130 --> 00:51:19,629 پورت = 8080. 962 00:51:19,629 --> 00:51:22,375 963 00:51:22,375 --> 00:51:23,750 اجازه دهید که سعی کنید سریع واقعی. 964 00:51:23,750 --> 00:51:29,100 965 00:51:29,100 --> 00:51:32,230 آره، بنابراین شما فقط می توانید مشخص کنید پورت = 8080، و آن را اجرا خواهد کرد وجود دارد، 966 00:51:32,230 --> 00:51:36,130 که من فکر می کنم، اگر شما می خواهید آن را اجرا کنید در IDE، من این تلاش نیست، 967 00:51:36,130 --> 00:51:38,527 اما من فکر می کنم که اگر شما آن را بر روی پورت 8080 زد، 968 00:51:38,527 --> 00:51:40,360 شما احتمالا قادر برای دسترسی به سرور، 969 00:51:40,360 --> 00:51:41,870 درست مثل شما برای وب سایت است. 970 00:51:41,870 --> 00:51:44,390 >> آره، اما آن را آسان به تغییر است که اگر شما 971 00:51:44,390 --> 00:51:48,540 هر گونه مانند پورت حمل و نقل چیزهایی که شما باید انجام دهید. 972 00:51:48,540 --> 00:51:50,410 >> هر گونه سوال دیگر؟ 973 00:51:50,410 --> 00:51:50,916 آره؟ 974 00:51:50,916 --> 00:51:53,416 مخاطبان 1: بنابراین، من در دیدم خود را مدل های که، همانطور که شما اشاره شد، 975 00:51:53,416 --> 00:51:55,647 شما باید برای مشخص کردن پایگاه داده برای هر شیء است. 976 00:51:55,647 --> 00:51:58,105 آیا شما اتفاق می افتد به می دانم، می کند که آن را واقعا آسان اگر شما 977 00:51:58,105 --> 00:52:03,210 تعداد زیادی از پایگاه های داده SQLite که شما خواهید به استفاده از یک برنامه وب تنها، 978 00:52:03,210 --> 00:52:07,210 که شما فقط می توانید مشخص کنید یک دسته از آنهایی که در مدل های مختلف خود را؟ 979 00:52:07,210 --> 00:52:11,620 >> EZRA زیگمند: بله، به من اجازه دهید باز که سریع واقعی. 980 00:52:11,620 --> 00:52:17,570 بنابراین، شما می گویید، اگر شما می خواهید به یک دسته از چیزی متفاوت، شاید 981 00:52:17,570 --> 00:52:22,670 دوست و دانش آموزان، برای برخی از دلیل، چیزی شبیه به آن؟ 982 00:52:22,670 --> 00:52:26,870 آره، بنابراین من فکر می کنم که شما هنوز هم، هر مدل 983 00:52:26,870 --> 00:52:30,652 هنوز هم می خواهم که به فقط باید یک پایگاه داده به آن اختصاص داده، 984 00:52:30,652 --> 00:52:32,610 اما اگر شما می خواستم به مدل های مختلف که 985 00:52:32,610 --> 00:52:35,818 اشیاء پایگاه داده اند مختلف اختصاص داده به آن، شما قطعا می تواند انجام دهد. 986 00:52:35,818 --> 00:52:43,070 بنابراین، اگر من ایجاد شده جدید، چیزی شبیه به این، 987 00:52:43,070 --> 00:52:47,000 و در حال حاضر این است که یک دانش آموز به نظر می رسد عجیب مانند یک پست وبلاگ، 988 00:52:47,000 --> 00:52:49,390 من می توانم مشخص است که پایگاه داده برابر با db_2 در اینجا است. 989 00:52:49,390 --> 00:52:51,390 بنابراین، من فکر می کنم که این راه اصلی شما می توانید انجام دهید. 990 00:52:51,390 --> 00:52:54,560 991 00:52:54,560 --> 00:52:56,200 >> خنک. 992 00:52:56,200 --> 00:52:58,410 هر گونه سوال دیگر؟ 993 00:52:58,410 --> 00:53:02,170 >> پس فقط به پایان برساند تا کمی کمی، در اینجا برخی منابع، 994 00:53:02,170 --> 00:53:06,030 و این اسلاید به صورت آنلاین ارسال شده بنابراین شما در واقع می تواند به این لینک دریافت کنید. 995 00:53:06,030 --> 00:53:08,500 بهترین منابع واقعا اسناد و مدارک برای فلاسک 996 00:53:08,500 --> 00:53:09,930 و خود را چيز كوچك و جزئي. 997 00:53:09,930 --> 00:53:12,940 آنها نوشته شده است در حال واقعا خوب، من فکر می کنم. 998 00:53:12,940 --> 00:53:18,180 بنابراین، وب سایت فلاسک است که در اینجا، و آنها یک کلید شروع سریع که آموزش 999 00:53:18,180 --> 00:53:20,710 را از طریق راه رفتن مشابه همه چیز را به آنچه من راه می رفت، از طریق، 1000 00:53:20,710 --> 00:53:23,560 اما اگر شما می خواهید هر نوع بررسی از چیزهایی که من رفتم، 1001 00:53:23,560 --> 00:53:26,200 و یا شما فکر کردم که من توضیح داد چیزی در راه گیج کننده است، 1002 00:53:26,200 --> 00:53:28,390 آنها نمونه های مشابه وجود دارد. 1003 00:53:28,390 --> 00:53:31,570 >> چيز كوچك و جزئي است اسناد و مدارک، و آنها یک کلید شروع سریع آموزش 1004 00:53:31,570 --> 00:53:34,650 که می رود بیش از پارامترهای اصلی که شما می خواهید استفاده کنید. 1005 00:53:34,650 --> 00:53:38,900 بنابراین، چیزهایی که در مورد صحبت با منحصر به فرد، و تعیین پیش فرض، 1006 00:53:38,900 --> 00:53:42,710 انواع مختلف از زمینه های که شما می توانید استفاده کنید، کسانی که در تمام وجود داشته باشد. 1007 00:53:42,710 --> 00:53:44,690 >> همچنین، اگر شما سوال در مورد چيز كوچك و جزئي، 1008 00:53:44,690 --> 00:53:47,530 و شما آنها را در stackoverflow، کسی که چيز كوچك و جزئي ساخته شده در واقع 1009 00:53:47,530 --> 00:53:49,500 در می رود و پاسخ این گاهی اوقات. 1010 00:53:49,500 --> 00:53:53,200 اگر شما یک سوال، امیدوارم او قادر خواهید بود به آن پاسخ، 1011 00:53:53,200 --> 00:53:54,867 چرا که او نوشت به همه چیز. 1012 00:53:54,867 --> 00:53:56,700 من فکر می کنم که همه چیز من می خواستم به را پوشش میدهد. 1013 00:53:56,700 --> 00:53:58,930 با تشکر برای بیرون می آید. 1014 00:53:58,930 --> 00:54:02,688