در این مطلب، ویدئو ساخت و استقرار یک برنامه وب پایتون برای خودکارسازی توییتر | Flask، Heroku، Twitter API و Google Sheets API با زیرنویس فارسی را برای دانلود قرار داده ام. شما میتوانید با پرداخت 15 هزار تومان ، این ویدیو به علاوه تمامی فیلم های سایت را دانلود کنید.اکثر فیلم های سایت به زبان انگلیسی می باشند. این ویدئو دارای زیرنویس فارسی ترجمه شده توسط هوش مصنوعی می باشد که میتوانید نمونه ای از آن را در قسمت پایانی این مطلب مشاهده کنید.
مدت زمان فیلم: 1:42:33
تصاویر این ویدئو:
قسمتی از زیرنویس این فیلم:
00:00:00,000 –> 00:00:01,709
سلام بچه ها به یک آموزش جدید پایتون خوش آمدید
2
00:00:01,709 –> 00:00:03,629
امروز ما قصد داریم یک
3
00:00:03,629 –> 00:00:06,150
برنامه وب با صفحات فلاسک گوگل
4
00:00:06,150 –> 00:00:09,240
توییتر API و Heroku بسازیم، بنابراین
5
00:00:09,240 –> 00:00:11,759
در اینجا چیزهای زیادی یاد خواهید گرفت و این
6
00:00:11,759 –> 00:00:13,740
یک نوع آموزش برنامه نویسی زنده است که من
7
00:00:13,740 –> 00:00:16,139
از آنجا شروع می کنم. ابتدا برنامه را پیاده سازی کنید و
8
00:00:16,139 –> 00:00:19,080
در پایان در Heroku قرار دهید همه
9
00:00:19,080 –> 00:00:20,850
چیزهایی در سرویس هایی که قرار بود
10
00:00:20,850 –> 00:00:23,070
در اینجا استفاده کنیم کاملاً رایگان خواهد بود بنابراین در
11
00:00:23,070 –> 00:00:24,390
پایان ما یک برنامه زنده در حال اجرا
12
00:00:24,390 –> 00:00:26,640
بدون صرف هزینه خواهیم داشت و
13
00:00:26,640 –> 00:00:28,680
اگر این نوع آموزش ها را
14
00:00:28,680 –> 00:00:30,720
دوست دارید لطفاً ترک کنید. من را لایک کنید و
15
00:00:30,720 –> 00:00:32,640
در کانال مشترک شوید سپس می دانم که می توانم
16
00:00:32,640 –> 00:00:36,420
آموزش های بیشتری در این قالب بسازم و اکنون
17
00:00:36,420 –> 00:00:38,760
اجازه دهید ابتدا برنامه را به شما نشان دهم، بنابراین
18
00:00:38,760 –> 00:00:40,770
اخیراً متوجه شده ام که
19
00:00:40,770 –> 00:00:42,840
افراد موفق در توییتر توییت های خود را مستقیماً در توییتر ارسال نمی کنند.
20
00:00:42,840 –> 00:00:45,870
در عوض
21
00:00:45,870 –> 00:00:48,000
آنها تمام توییتهای خود را با یک
22
00:00:48,000 –> 00:00:50,820
سرویس شخص ثالث کاهش میدهند و
23
00:00:50,820 –> 00:00:52,920
مجموعهای از سرویسها وجود دارد که
24
00:00:52,920 –> 00:00:56,219
عالی هستند، اما همه آنها هزینه دارند و من
25
00:00:56,219 –> 00:00:58,620
در توییتر فوقالعاده فعال نیستم، فقط هر از چند گاهی پست
26
00:00:58,620 –> 00:01:00,420
میکنم. یک ویدیوی جدید
27
00:01:00,420 –> 00:01:03,210
منتشر کنید یا فقط آن را احساس کنید، بنابراین فکر
28
00:01:03,210 –> 00:01:04,709
کردم نمیخواهم پولی برای این کار خرج کنم،
29
00:01:04,709 –> 00:01:06,930
اما هنوز هم خوب است که چنین چیزهایی را خودکار کنم
30
00:01:06,930 –> 00:01:09,600
و به همین دلیل است که
31
00:01:09,600 –> 00:01:13,229
این زمانبندی توییت را اینجا میسازم و برنامه نهایی به
32
00:01:13,229 –> 00:01:15,780
نظر میرسد بنابراین در اینجا ما یک صفحه
33
00:01:15,780 –> 00:01:19,470
اصلی داریم با لیستی از تمام
34
00:01:19,470 –> 00:01:22,200
توییت هایی که قبلا ارسال شده اند و
35
00:01:22,200 –> 00:01:24,840
سپس این فرم را در اینجا داریم تا بتوانم
36
00:01:24,840 –> 00:01:28,110
یک پیام جدید اضافه کنم سلام دوستان توییتر و
37
00:01:28,110 –> 00:01:30,600
سپس همیشه چت
38
00:01:30,600 –> 00:01:34,020
کنم. تاریخ و زمان در این قالب و
39
00:01:34,020 –> 00:01:37,320
سپس یک رمز عبور که به من اجازه می دهد
40
00:01:37,320 –> 00:01:40,520
توییت را اضافه کنم و حالا اگر اضافه کردن توییت را بزنم
41
00:01:40,520 –> 00:01:44,759
این به روز می شود بنابراین
42
00:01:44,759 –> 00:01:47,490
به لیست اضافه می شود و در اینجا همچنین می بینیم
43
00:01:47,490 –> 00:01:52,560
که شما یک توییت برنامه ریزی شده دارید و بله
44
00:01:52,560 –> 00:01:55,079
و سپس در پسزمینه علاوه بر این،
45
00:01:55,079 –> 00:01:58,079
ما یک اسکریپت کارگر داریم که به
46
00:01:58,079 –> 00:02:02,100
طور مداوم اجرا میشود و بررسی میکند که آیا این زمان
47
00:02:02,100 –> 00:02:06,390
گذشته است و اگر این درست باشد
48
00:02:06,390 –> 00:02:08,310
، این توییت را
49
00:02:08,310 –> 00:02:11,989
به حساب توییتر من ارسال میکند
50
00:02:12,180 –> 00:02:15,719
و بله، بنابراین این یک فلاسک در اینجا
51
00:02:15,719 –> 00:02:18,000
و سپس در پس زمینه ای که ما از صفحات گوگل استفاده می کنیم
52
00:02:18,000 –> 00:02:22,560
a صفحهگسترده برای ذخیره
53
00:02:22,560 –> 00:02:26,519
دادهها، بنابراین در اینجا اگر این را رفرش کنم،
54
00:02:26,519 –> 00:02:29,790
میبینیم که توییت جدید را در اینجا داریم و میبینیم که
55
00:02:29,790 –> 00:02:33,510
این کار هنوز انجام نشده است و به
56
00:02:33,510 –> 00:02:36,299
عنوان مثال اگر به عقب برگردم و دوباره آن را حذف کنم
57
00:02:36,299 –> 00:02:40,019
و به صفحهگسترده برگردم و
58
00:02:40,019 –> 00:02:42,750
این را بازخوانی کنم، سپس ما می بینیم که
59
00:02:42,750 –> 00:02:46,829
اینجا نیز به روز شده است، بنابراین این برنامه کار می کند و
60
00:02:46,829 –> 00:02:50,760
این یک برنامه است که در حال حاضر زندگی می کند، بنابراین من
61
00:02:50,760 –> 00:02:53,099
در واقع از آن استفاده می کنم.
62
00:02:53,099 –> 00:02:56,310
63
00:02:56,310 –> 00:03:00,510
64
00:03:00,510 –> 00:03:02,730
دوباره تمام
65
00:03:02,730 –> 00:03:04,980
فناوریهایی را که قرار است استفاده
66
00:03:04,980 –> 00:03:09,090
کنیم به شما نشان میدهیم، بنابراین از flask استفاده میکنیم، سپس
67
00:03:09,090 –> 00:03:13,079
از Twitter API استفاده میکنیم و پیتر را برای استفاده
68
00:03:13,079 –> 00:03:16,829
از API در پایتون توییت میکنیم، سپس از
69
00:03:16,829 –> 00:03:21,930
API صفحه Google استفاده میکنیم و از Heroku استفاده میکنیم.
70
00:03:21,930 –> 00:03:26,099
برای استقرار رایگان برنامه خود، پس بیایید
71
00:03:26,099 –> 00:03:32,120
شروع کنیم، پس بیایید برنامه flask خود را راه اندازی کنیم،
72
00:03:32,120 –> 00:03:38,579
بنابراین اجازه دهید من یک فهرست جدید ایجاد کنم،
73
00:03:38,579 –> 00:03:45,979
بنابراین بیایید این
74
00:03:45,979 –> 00:03:49,169
زمانبندی توییت را صدا کنیم و به این
75
00:03:49,169 –> 00:03:52,949
فهرست برویم و سپس به
76
00:03:52,949 –> 00:03:56,280
مستندات فلاسک نگاهی بیندازیم. بنابراین در اینجا ما
77
00:03:56,280 –> 00:03:59,280
راهنمای نصب را می بینیم تا ما چه کنیم می
78
00:03:59,280 –> 00:04:02,780
خواهید انجام دهید این است که یک محیط مجازی ایجاد کنید،
79
00:04:02,780 –> 00:04:06,120
بنابراین این دستور در اینجا با
80
00:04:06,120 –> 00:04:09,419
ماژول مجازی enth، قبلاً در پایتون 3 گنجانده شده است،
81
00:04:09,419 –> 00:04:11,489
بنابراین شما نیازی به نصب
82
00:04:11,489 –> 00:04:13,979
چیزی ندارید و این یک
83
00:04:13,979 –> 00:04:19,589
محیط مجازی با این نام vn ایجاد می کند و این
84
00:04:19,589 –> 00:04:21,719
یک زوج طول می کشد. چند ثانیه است و سپس میتوانیم آن
85
00:04:21,719 –> 00:04:25,000
را فعال کنیم، بنابراین میگوییم نقطه
86
00:04:25,000 –> 00:04:28,240
و سپس این بستگی به سیستم عامل شما
87
00:04:28,240 –> 00:04:31,870
دارد، بنابراین در مک و لینوکس این
88
00:04:31,870 –> 00:04:34,660
دستور و در ویندوز این دستور است،
89
00:04:34,660 –> 00:04:38,680
بنابراین من در اینجا در مک هستم، بنابراین با
90
00:04:38,680 –> 00:04:41,230
این دستور فعال کردم و سپس ما
91
00:04:41,230 –> 00:04:44,470
نام پایان های مجازی را در ابتدا می بینیم و سپس کاری
92
00:04:44,470 –> 00:04:47,260
که می توانیم در اینجا انجام دهیم نصب فلاسک با
93
00:04:47,260 –> 00:04:53,440
پیپ است، بنابراین می گوییم فلاسک نصب پیپ و
94
00:04:53,440 –> 00:04:57,790
این چند ثانیه طول می کشد و اکنون
95
00:04:57,790 –> 00:05:02,740
فلاسک داریم، پس حالا بیایید ببینیم
96
00:05:02,740 –> 00:05:06,010
کار نصب تمام شده است. اکنون میتوانیم
97
00:05:06,010 –> 00:05:10,750
به آموزش QuickStart برویم و
98
00:05:10,750 –> 00:05:17,590
این برنامه حداقل فلاسک را ایجاد کنیم، بنابراین در اینجا اجازه دهید
99
00:05:17,590 –> 00:05:25,990
ویرایشگر را باز کنم و ذخیره نکنیم، بنابراین
100
00:05:25,990 –> 00:05:29,820
این یک نسخه قدیمی بود، بنابراین بیایید یک جدید ایجاد کنیم که
101
00:05:29,820 –> 00:05:32,440
باید خالی باشد
102
00:05:32,440 –> 00:05:38,110
بله، بنابراین اینجا فقط داریم مستقیم NF
103
00:05:38,110 –> 00:05:40,510
مجازی توری که ما به تازگی ایجاد کردیم، پس بیایید
104
00:05:40,510 –> 00:05:44,470
یک دایرکتوری جدید ایجاد کنیم، نه در اینجا، بنابراین در
105
00:05:44,470 –> 00:05:47,800
دایرکتوری پایه، و اجازه دهید این برنامه را فراخوانی کنیم
106
00:05:47,800 –> 00:05:51,250
و سپس یک فایل اصلی
107
00:05:51,250 –> 00:05:55,120
نقطه pi ایجاد کنیم و سپس اجازه دهید در
108
00:05:55,120 –> 00:05:59,800
برنامه flask حداقل پیست کنیم و اجازه دهید ترمینال را باز کنم.
109
00:05:59,800 –> 00:06:03,520
در اینجا هم و فکر می کنم
110
00:06:03,520 –> 00:06:08,830
باید ترس پایان مجازی را نیز فعال کنم،
111
00:06:08,830 –> 00:06:14,919
بنابراین V و bin فعال شوند و سپس کاری
112
00:06:14,919 –> 00:06:18,760
که باید انجام دهیم این است که بیایید نگاهی بیندازیم که
113
00:06:18,760 –> 00:06:24,760
باید برنامه flask را صادر کنیم، بنابراین می گوییم
114
00:06:24,760 –> 00:06:28,630
صادرات flask app و سپس ما داریم
115
00:06:28,630 –> 00:06:34,060
برنامه PI اصلی را در مورد ما اسلش می کند و سپس
116
00:06:34,060 –> 00:06:36,130
می توانیم flask
117
00:06:36,130 –> 00:06:37,689
run را اجرا کنیم
118
00:06:37,689 –> 00:06:40,839
و این یک سرور توسعه را باز می
119
00:06:40,839 –> 00:06:43,629
کند و در اینجا یک اخطار دریافت می کنیم که این
120
00:06:43,629 –> 00:06:45,879
یک سرور توسعه است از آن در تولید استفاده نکنید
121
00:06:45,879 –> 00:06:48,729
بنابراین ما
122
00:06:48,729 –> 00:06:52,929
بعداً و فعلاً به این موضوع رسیدگی خواهیم کرد. بیایید به سادگی
123
00:06:52,929 –> 00:06:59,379
این را در مرورگر خود باز کنیم و سپس می بینیم که
124
00:06:59,379 –> 00:07:03,279
این کار می کند، بنابراین در localhost 5000 است
125
00:07:03,279 –> 00:07:08,529
و اکنون ما برنامه های flask خود را داریم، پس بیایید ادامه دهیم،
126
00:07:08,529 –> 00:07:11,800
بنابراین اکنون آنچه می خواهیم اینجا انجام دهیم
127
00:07:11,800 –> 00:07:16,899
در صفحه اصلی است که می خواهیم لیست ها را نشان دهیم.
128
00:07:16,899 –> 00:07:19,449
لیستی از تمام توییتهایی که
129
00:07:19,449 –> 00:07:24,069
داریم، بنابراین بیایید t را نام ببریم لیست توییت های او و
130
00:07:24,069 –> 00:07:28,149
همانطور که گفتم ما از Google Sheets برای این کار استفاده می کنیم،
131
00:07:28,149 –> 00:07:32,439
بنابراین من دیروز یک آموزش در مورد اینکه چگونه
132
00:07:32,439 –> 00:07:34,689
می توانیم API برگه های Google را راه اندازی
133
00:07:34,689 –> 00:07:37,449
کنیم پست کردم، بنابراین اگر
134
00:07:37,449 –> 00:07:39,639
نمی دانید چگونه این کار را انجام دهید
135
00:07:39,639 –> 00:07:43,149
اما اساساً به چه چیزی نیاز داریم لطفاً بررسی کنید. آیا
136
00:07:43,149 –> 00:07:45,369
باید یک برنامه در کنسول توسعه دهنده گوگل ایجاد کنیم
137
00:07:45,369 –> 00:07:48,629
و سپس api را فعال کنیم و
138
00:07:48,629 –> 00:07:54,759
یک فایل با اعتبار ایجاد کنیم و من
139
00:07:54,759 –> 00:07:59,050
قبلاً اعتبارنامه ها را اینجا دارم، بنابراین
140
00:07:59,050 –> 00:08:03,489
آنها را به سادگی به این
141
00:08:03,489 –> 00:08:11,050
فهرست منتقل می کنم و سپس از
142
00:08:11,050 –> 00:08:13,860
نان پنیر برای این کار استفاده می کنیم. باید آن را ارزان نصب کنیم
143
00:08:13,860 –> 00:08:21,329
بنابراین می گوییم pip install G spread و
144
00:08:24,300 –> 00:08:30,369
سپس می توانیم صفحه گوگل خود را راه اندازی کنیم تا
145
00:08:30,369 –> 00:08:35,919
بخواهیم نان پنیر را اینجا وارد کنیم و
146
00:08:35,919 –> 00:08:39,818
سپس با
147
00:08:39,818 –> 00:08:48,839
گفتن G C برابر با G spread dot sir this
148
00:08:48,839 –> 00:08:52,389
accounts و سپس نام در اینجا
149
00:08:52,389 –> 00:08:56,110
باید از نام فایل برابر با
150
00:08:56,110 –> 00:08:59,589
فایل اعتبارنامه استفاده کنیم، بنابراین به این می گویند Chi
151
00:08:59,589 –> 00:09:05,339
sheet dot underscore credentials dot
152
00:09:05,339 –> 00:09:10,480
chasin و سپس می توانیم
153
00:09:10,480 –> 00:09:15,820
با گفتن s H برابر با G C نقطه
154
00:09:15,820 –> 00:09:22,750
باز با کلید و سپس کاری که می خواهیم انجام دهیم، به صفحه گسترده دسترسی پیدا کنیم.
155
00:09:22,750 –> 00:09:26,320
بنابراین در اینجا من قبلاً یک صفحه گسترده دارم،
156
00:09:26,320 –> 00:09:29,769
بنابراین بیایید یک صفحه گسترده دیگر را از ابتدا ایجاد کنیم
157
00:09:29,769 –> 00:09:31,839
تا به شما نشان دهیم چگونه می توانیم این کار را انجام دهیم، بنابراین بیایید
158
00:09:31,839 –> 00:09:36,630
یک توییت جدید ایجاد کنیم و این
159
00:09:36,630 –> 00:09:42,459
توییت را اویلر غمگین صدا کنیم و سپس در
160
00:09:42,459 –> 00:09:46,149
ردیف اول نام ستون ها را تعریف می کنم.
161
00:09:46,149 –> 00:09:49,630
بنابراین در اینجا من زمان را دارم، سپس
162
00:09:49,630 –> 00:09:53,050
پیام را دارم و سپس متغیری را انجام می دهم،
163
00:09:53,050 –> 00:09:57,120
بنابراین اگر قبلاً ارسال شده است یا نه،
164
00:09:57,120 –> 00:10:01,269
پس بیایید یک مثال انجام دهیم و
165
00:10:01,269 –> 00:10:05,920
بگذارید یک تاریخ بگذاریم، بنابراین سال، سپس
166
00:10:05,920 –> 00:10:10,959
ماه و روز و سپس یک فاصله
167
00:10:10,959 –> 00:10:18,370
و زمان، بنابراین بیایید 2000 0 0 را در
168
00:10:18,370 –> 00:10:24,430
ساعت 8 بعد از ظهر فرض کنیم. و بنابراین باید در این قالب باشد
169
00:10:24,430 –> 00:10:28,329
و سپس بیایید بگوییم فقط سلام دنیا و
170
00:10:28,329 –> 00:10:33,880
انجام شد 0 است، بنابراین از 0 برای نادرست
171
00:10:33,880 –> 00:10:37,000
و 1 برای درست استفاده می کنیم و سپس باید
172
00:10:37,000 –> 00:10:40,029
یک کار دیگر انجام دهیم و وارد این
173
00:10:40,029 –> 00:10:42,760
اعتبارنامه می شویم و سپس ما باید
174
00:10:42,760 –> 00:10:49,329
ایمیل مشتری را بگیریم و آن را کپی کنیم و
175
00:10:49,329 –> 00:10:53,709
سپس در صفحه گسترده ما باید بروم تا
176
00:10:53,709 –> 00:10:57,189
آن را با این حساب سرویس به اشتراک بگذارم و به اشتراک بگذارم
177
00:10:57,189 –> 00:11:00,329
و
178
00:11:00,350 –> 00:11:04,009
ما از فایل های پایتون خود دسترسی داریم و
179
00:11:04,009 –> 00:11:09,019
اکنون باید کار کند، بنابراین اکنون می
180
00:11:09,019 –> 00:11:13,250
توانیم این را ببندیم و اکنون ما به کلید نیاز دارید،
181
00:11:13,250 –> 00:11:18,920
بنابراین کلید این یکی از URL این
182
00:11:18,920 –> 00:11:23,509
قسمت است، پس بیایید این را بگیریم و
183
00:11:23,509 –> 00:11:27,639
این را در اینجا بچسبانیم، بنابراین اکنون
184
00:11:27,639 –> 00:11:31,130
صفحه گسترده را باز کرده ایم و اکنون می توانیم
185
00:11:31,130 –> 00:11:34,610
با گفتن کاربرگ برابر با H نقطه پیش فرض به کاربرگ دسترسی پیدا کنیم.
186
00:11:34,610 –> 00:11:40,779
یکی و
187
00:11:40,779 –> 00:11:44,690
سپس در اینجا در لیست توییت، کاری که
188
00:11:44,690 –> 00:11:47,540
میخواهیم انجام دهیم این است که میخواهیم
189
00:11:47,540 –> 00:11:52,730
رکوردهای توییت را با گفتن رکوردهای توییت برابر دریافت کنیم
190
00:11:52,730 –> 00:11:54,680
و سپس میتوانیم از API پخش پنیر
191
00:11:54,680 –> 00:11:59,569
استفاده کنیم و mmm را صدا کنیم نه، باید از کاربرگ استفاده کنیم
192
00:11:59,569 –> 00:12:06,130
و آن را get نامیده میشود. همه
193
00:12:06,730 –> 00:12:09,800
رکوردها، بنابراین این فهرستی از
194
00:12:09,800 –> 00:12:12,560
فرهنگ لغت است با تمام ورودی ها،
195
00:12:12,560 –> 00:12:17,389
بیایید این را چاپ کنیم و این را ذخیره کنیم و
196
00:12:17,389 –> 00:12:22,519
سپس سرور flask را دوباره راه اندازی کنیم
197
00:12:22,519 –> 00:12:29,980
و حالا اگر به طرفین برویم و
198
00:12:29,980 –> 00:12:34,310
دوباره اینتر را فشار دهیم و این را رفرش کنیم، این
199
00:12:34,310 –> 00:12:38,720
باید ورودی ها را چاپ کند و بله،
200
00:12:38,720 –> 00:12:41,089
بنابراین اینجا رکورد را چاپ کرده است.
201
00:12:41,089 –> 00:12:43,130
کار میکند، بنابراین اکنون میتوانیم به صفحهگسترده دسترسی پیدا کنیم
202
00:12:43,130 –> 00:12:45,860
و در اینجا میبینیم که یک
203
00:12:45,860 –> 00:12:48,439
لیست داریم و سپس یک فرهنگ لغت داریم، بنابراین
204
00:12:48,439 –> 00:12:51,079
در حال حاضر فقط یک فرهنگ لغت داریم، زیرا
205
00:12:51,079 –> 00:12:56,480
فقط یک ورودی داریم، بنابراین بیایید
206
00:12:56,480 –> 00:13:01,790
این را در جلوی خود نشان دهیم و بنابراین آنچه میخواهیم
207
00:13:01,790 –> 00:13:04,069
اینجا انجام دهیم این است که به جای گفتن بازگشت
208
00:13:04,069 –> 00:13:08,740
hello world، میخواهیم یک الگو را رندر
209
00:13:08,740 –> 00:13:12,260
کنیم، بنابراین باید آن را برای از Flass وارد
210
00:13:12,260 –> 00:13:13,170
کنیم، بنابراین
211
00:13:13,170 –> 00:13:18,470
از الگوی رندر وارد کردن flask و
212
00:13:18,470 –> 00:13:22,290
سپس میخواهیم روی رکوردهای خیابان حلقه بزنیم
213
00:13:22,290 –> 00:13:27,410
و من یک کلاس کوچک ساده برای این کار ایجاد میکنم.
214
00:13:27,410 –> 00:13:32,359
بیایید این کلاس را
215
00:13:32,359 –> 00:13:37,369
توییت صدا کنیم و در اینجا یک init با
216
00:13:37,369 –> 00:13:41,489
self خواهیم داشت و با همان پارامترهای
217
00:13:41,489 –> 00:13:46,559
پیام زمان و سپس انجام می شود و همچنین یک
218
00:13:46,559 –> 00:13:50,879
فهرست ردیفی دریافت می کند، بنابراین این یک نوع T ID برای
219
00:13:50,879 –> 00:13:54,779
توییت ما است و سپس به سادگی به عنوان سال شروع می
220
00:13:54,779 –> 00:13:57,319
کنیم، بنابراین می گوییم ببینید اگر آن پیام مساوی
221
00:13:57,319 –> 00:14:03,389
باشد زمان خود پیام مساوی زمان خود نقطه
222
00:14:03,389 –> 00:14:09,269
انجام شده مساوی انجام شده است و نمایه ردیف خود نقطه
223
00:14:09,269 –> 00:14:15,480
برابر با فهرست سطر است و سپس در اینجا
224
00:14:15,480 –> 00:14:19,529
یک لیست خالی با تمام توییت ها ایجاد می کنیم و
225
00:14:19,529 –> 00:14:24,569
سپس روی رکوردهای این توییت حلقه می زنیم بنابراین
226
00:14:24,569 –> 00:14:28,860
برای این کار می خواهیم به index و
227
00:14:28,860 –> 00:14:32,970
همچنین توییت و بنابراین برای ایندکس
228
00:14:32,970 –> 00:14:36,689
و توییت در عدد هشت می گوییم، بنابراین این
229
00:14:36,689 –> 00:14:39,660
یک تابع داخلی خوب است که
230
00:14:39,660 –> 00:14:44,730
هر دو را به ما می دهد و سپس می گوییم رکوردهای توییت
231
00:14:44,730 –> 00:14:49,769
و باید از شاخص دو شروع شود و من
232
00:14:49,769 –> 00:14:51,989
به شما نشان خواهم داد که چرا این دو در یک
233
00:14:51,989 –> 00:14:55,679
ثانیه است و سپس در اینجا یک توییت ایجاد می کنیم
234
00:14:55,679 –> 00:14:59,369
با گفتن توییت برابر با توییت و
235
00:14:59,369 –> 00:15:03,119
در اینجا از بازکردن دیکشنری با
236
00:15:03,119 –> 00:15:07,919
ستاره های دوتایی استفاده می کنیم تا دو ستاره و سپس
237
00:15:07,919 –> 00:15:14,910
توییت و سپس شاخص ردیف برابر با
238
00:15:14,910 –> 00:15:20,699
شاخص است بنابراین این کار می کند زیرا توییت
239
00:15:20,699 –> 00:15:25,110
ما یکسان است. پارامترهایی را که میتوانیم
240
00:15:25,110 –> 00:15:26,430
اینجا پیدا کنیم، بنابراین
241
00:15:26,430 –> 00:15:28,680
پیامی داریم که زمان داریم و
242
00:15:28,680 –> 00:15:35,550
انجام دادهایم و اگر
243
00:15:35,550 –> 00:15:37,410
دقیقاً به همان نام نباشد، این کار نمیکند
244
00:15:37,410 –> 00:15:39,330
و خراب میشود، بنابراین باید
245
00:15:39,330 –> 00:15:41,780
در اینجا مراقب باشیم، اما در مورد ما
246
00:15:41,780 –> 00:15:44,250
پارامترها را داشته باشند همان نامی که در صفحه گسترده ما وجود دارد،
247
00:15:44,250 –> 00:15:47,220
اما علاوه بر این،
248
00:15:47,220 –> 00:15:50,070
به فهرست ردیف نیاز داریم، بنابراین آن را در اینجا قرار می دهیم
249
00:15:50,070 –> 00:15:53,880
و این باید یک پایان توییت ایجاد کند و
250
00:15:53,880 –> 00:15:57,420
از 2 شروع می شود، زیرا اگر
251
00:15:57,420 –> 00:16:02,700
به صفحه گسترده برگردیم، می بینیم که
252
00:16:02,700 –> 00:16:06,930
این ردیف شماره 1 است و این ردیف شماره 2
253
00:16:06,930 –> 00:16:10,110
با ورودی اول است، به همین دلیل است که
254
00:16:10,110 –> 00:16:14,670
میخواهیم از شاخص 2 شروع کنیم و سپس
255
00:16:14,670 –> 00:16:18,000
میخواهیم این را اضافه کنیم، بنابراین میگوییم توییتها dot
256
00:16:18,000 –> 00:16:25,110
append tweet و سپس کاری که میخواهیم در اینجا انجام دهیم
257
00:16:25,110 –> 00:16:30,200
این است که میخواهیم بگوییم قالب رندر بازگشتی
258
00:16:30,200 –> 00:16:34,410
و سپس نام
259
00:16:34,410 –> 00:16:38,970
قالب را HTML پایه می نامند
260
00:16:38,970 –> 00:16:42,000
و دو پارامتر دریافت می کند، بنابراین با
261
00:16:42,000 –> 00:16:46,290
این مقدار توییت ها برابر با توییت هستند
262
00:16:46,290 –> 00:16:50,010
و همچنین تعداد توییت های باز
263
00:16:50,010 –> 00:16:54,200
که هنوز انجام نشده اند را دریافت می کنیم، بنابراین n
264
00:16:54,200 –> 00:17:01,650
توییت باز برابر با n است. توییتها را باز کنید و ما
265
00:17:01,650 –> 00:17:04,790
باید این را ایجاد کنیم، بنابراین میگوییم n
266
00:17:04,790 –> 00:17:08,339
توییت باز برابر است و در اینجا میتوانیم از یک
267
00:17:08,339 –> 00:17:11,520
ترفند زیبای پایتون استفاده کنیم، بنابراین میگوییم مجموع و
268
00:17:11,520 –> 00:17:19,829
سپس یکی برای توییت در توییتها و سپس اگر
269
00:17:19,829 –> 00:17:24,510
نقطه توییت انجام نشده است، پس این
270
00:17:24,510 –> 00:17:28,020
نحو درک لیست است. برای هر توییت
271
00:17:28,020 –> 00:17:31,440
در لیست ما که n است اگر انجام شد، یکی را اضافه می کنیم،
272
00:17:31,440 –> 00:17:34,080
بنابراین این تعداد توییت های باز است و
273
00:17:34,080 –> 00:17:38,460
سپس این را به قالب می دهیم و
274
00:17:38,460 –> 00:17:40,049
باید آن را ایجاد کنیم، بنابراین
275
00:17:40,049 –> 00:17:42,989
در داخل پوشه برنامه باید
276
00:17:42,989 –> 00:17:45,570
دایرکتوری دیگری ایجاد کنیم که به آن
277
00:17:45,570 –> 00:17:49,919
Tim plate می گوییم، بنابراین باید این نام باشد. و
278
00:17:49,919 –> 00:17:55,980
سپس فایل پایه H نقطه HTML را ایجاد می کنیم
279
00:17:55,980 –> 00:18:04,799
و من قبلاً این را در اینجا دارم، بنابراین بله
280
00:18:04,799 –> 00:18:08,190
، این الگوی پایه است، بنابراین
281
00:18:08,190 –> 00:18:11,220
اگر این را در اینجا باز کنم، می
282
00:18:11,220 –> 00:18:14,340
بینیم که در اینجا عنوان و سپس یک
283
00:18:14,340 –> 00:18:17,039
فرم خالی داریم و سپس بعدا ما
284
00:18:17,039 –> 00:18:19,590
لیست را مانند اینجا اضافه می کنیم، بنابراین این
285
00:18:19,590 –> 00:18:24,629
نقطه شروع ما است، من این را در github ارائه می دهم،
286
00:18:24,629 –> 00:18:26,249
بنابراین پیوند را در
287
00:18:26,249 –> 00:18:38,090
توضیحات قرار می دهم، بنابراین حالا بیایید این را باز کنیم و
288
00:18:38,090 –> 00:18:46,559
محتوا را کپی کنیم، بنابراین اینجا را می گیرم و
289
00:18:46,559 –> 00:18:53,460
سپس آن را داخل آن می چسبانم این
290
00:18:53,460 –> 00:18:57,690
فایل و سپس اگر آن را ذخیره کنم، پس
291
00:18:57,690 –> 00:19:01,019
این را با جزئیات توضیح نخواهم داد، این
292
00:19:01,019 –> 00:19:04,440
فقط نحو اولیه HTML است که در اینجا من از
293
00:19:04,440 –> 00:19:06,989
بوت استرپ استفاده می کنم تا
294
00:19:06,989 –> 00:19:10,769
کمی استایل زیباتر داشته باشم، سپس در اینجا
295
00:19:10,769 –> 00:19:14,299
برخی از سبک ها را تعریف می کنم. من و
296
00:19:14,299 –> 00:19:16,679
سپس در اینجا ما
297
00:19:16,679 –> 00:19:21,690
محتوای واقعی را داریم بنابراین h قبل از اینکه تگ h1
298
00:19:21,690 –> 00:19:24,989
به توییت چت خوش آمدید اویلر را داشته باشیم، در اینجا
299
00:19:24,989 –> 00:19:27,539
برای تعداد توییتها باید انجام
300
00:19:27,539 –> 00:19:30,389
دهیم، بنابراین میتوانیم همین الان این کار را انجام دهیم و سپس
301
00:19:30,389 –> 00:19:33,289
میخواهیم فرم و لیست توییتها را پیادهسازی کنیم
302
00:19:33,289 –> 00:19:38,970
، بنابراین اجازه دهید
303
00:19:38,970 –> 00:19:42,749
با تعداد توییتها در اینجا، بنابراین برای این
304
00:19:42,749 –> 00:19:49,320
کار از یک تگ h3 استفاده میکنیم و سپس در اینجا
305
00:19:49,320 –> 00:19:51,700
فرض میکنیم شما
306
00:19:51,700 –> 00:19:54,429
و سپس به این زبان قالب
307
00:19:54,429 –> 00:19:59,049
میگویند، بنابراین این دارای پرانتزهای دوتایی است
308
00:19:59,049 –> 00:20:02,500
و سپس میتوانیم به پارامتر
309
00:20:02,500 –> 00:20:05,429
با نام دقیق دسترسی پیدا کنیم، بنابراین به آن n میگویند.
310
00:20:05,429 –> 00:20:10,780
توییتها را باز کنید و سپس این
311
00:20:10,780 –> 00:20:17,650
تعداد توییت را برنامهریزی کنید و سپس
312
00:20:17,650 –> 00:20:21,909
بیایید لیستی از تمام توییتها ایجاد کنیم،
313
00:20:21,909 –> 00:20:26,200
بنابراین آنچه که میخواهیم داشته باشیم این است که
314
00:20:26,200 –> 00:20:32,890
میخواهیم یک لیست نامرتب داشته باشیم و در داخل
315
00:20:32,890 –> 00:20:36,159
آن دوباره از زبان قالب استفاده میکنیم،
316
00:20:36,159 –> 00:20:40,539
بنابراین بریسهای فرفری سپس یک %
317
00:20:40,539 –> 00:20:44,919
و سپس میتوانیم از یک حلقه for استفاده کنیم تا بتوانیم
318
00:20:44,919 –> 00:20:49,929
برای توییت در توییتها بگوییم و دوباره
319
00:20:49,929 –> 00:20:52,630
این باید همان نام پارامتر باشد
320
00:20:52,630 –> 00:20:57,340
و اجازه دهید این را کپی کرده و آن را در اینجا جایگذاری کنیم،
321
00:20:57,340 –> 00:21:05,890
بنابراین در اینجا میگوییم پایان برای پس این
322
00:21:05,890 –> 00:21:10,240
انتهای حلقه و سپس در اینجا
323
00:21:10,240 –> 00:21:15,400
قرار می دهیم در عناصر لیست می گوییم Li
324
00:21:15,400 –> 00:21:20,140
و سپس دوباره زبان قالب، بنابراین
325
00:21:20,140 –> 00:21:25,740
از پرانتزهای فرفری دوتایی استفاده کنید و سپس بیایید
326
00:21:25,740 –> 00:21:32,440
زمان نقطه توییت ها را نمایش دهیم و این را کپی کنیم
327
00:21:32,440 –> 00:21:36,539
و این و سپس یک فاصله و یک
328
00:21:36,539 –> 00:21:41,919
نقطه و سپس پیام نقطه توییت را بچسبانیم، پس
329
00:21:41,919 –> 00:21:48,340
حالا اگر این را ذخیره کنیم سپس بیایید
330
00:21:48,340 –> 00:21:55,169
به سرور برگردیم و این را رفرش کنیم و
331
00:21:55,169 –> 00:22:03,820
فکر می کنم باید فکر کنم باید دوباره سرور را راه اندازی کنم،
332
00:22:03,820 –> 00:22:09,370
بنابراین اجازه دهید آن را متوقف کنیم و
333
00:22:09,370 –> 00:22:15,370
بگوییم فلاسک دوباره اجرا شود و سپس
334
00:22:15,370 –> 00:22:18,100
بیایید به سمت کناری آن را رفرش کنیم و سپس
335
00:22:18,100 –> 00:22:20,260
قالب ما باید باشد. نمایش داده شد، بله،
336
00:22:20,260 –> 00:22:23,490
بنابراین اینجا کار کرد، بنابراین ما
337
00:22:23,490 –> 00:22:26,409
پیامی داریم که یک توییت در اینجا داریم و
338
00:22:26,409 –> 00:22:29,289
همچنین یک عنصر لیست داریم و
339
00:22:29,289 –> 00:22:31,330
این فرمی است که باید آنها را پیاده سازی
340
00:22:31,330 –> 00:22:36,280
کنیم و بله، بنابراین فعلاً خیلی
341
00:22:36,280 –> 00:22:36,990
خوب کار می کند
342
00:22:36,990 –> 00:22:42,149
و بیایید این را بهبود بخشیم کمی پس
343
00:22:42,149 –> 00:22:49,799
بیایید به صفحه گسترده خود برویم
344
00:22:49,890 –> 00:22:56,220
و آزمایش دیگری را وارد کنیم و توییت آزمایشی دیگری
345
00:22:56,220 –> 00:22:59,950
که قبلا ارسال شده است، بنابراین توییت
346
00:22:59,950 –> 00:23:03,370
انجام شده برابر است با درست و سپس میخواهیم
347
00:23:03,370 –> 00:23:09,429
این را خط بزنیم، بنابراین در اینجا به
348
00:23:09,429 –> 00:23:13,630
زبان قالب میگوییم فکر میکنم درصد
349
00:23:13,630 –> 00:23:19,020
و هفتم است. میتوانیم بگوییم اگر نقطه توییت انجام شد
350
00:23:19,020 –> 00:23:25,270
و سپس کاری که میخواهیم انجام دهیم این است که میخواهیم
351
00:23:25,270 –> 00:23:35,679
یک برچسب ضربه زده بگوییم و سپس
352
00:23:35,679 –> 00:23:45,700
دوباره میگوییم درصد و اگر و سپس
353
00:23:45,700 –> 00:23:50,710
این را کپی میکنیم و آن را در اینجا جایگذاری میکنیم و
354
00:23:50,710 –> 00:23:53,770
سپس تگ بسته شدن ضربه را قرار میدهیم متأسفانه
355
00:23:53,770 –> 00:23:56,770
این تکمیل خودکار بود که اشتباه بود، بنابراین
356
00:23:56,770 –> 00:23:59,380
اکنون به آن ضربه می زنیم یا مطمئن شدیم که آیا
357
00:23:59,380 –> 00:24:03,520
نقطه توییت انجام شده برابر است با درست، بنابراین دوباره
358
00:24:03,520 –> 00:24:07,030
بیایید به صفحه اصلی اینجا
359
00:24:07,030 –> 00:24:11,290
برویم و این را بازخوانی کنیم و سپس می بینیم
360
00:24:11,290 –> 00:24:12,169
که یک
361
00:24:12,169 –> 00:24:16,340
توییت و توییت داریم اما خط زده نشده است
362
00:24:16,340 –> 00:24:30,049
بنابراین mmm اجازه دهید این را بررسی کنم باید
363
00:24:30,049 –> 00:24:33,379
یک درصد دیگر را اینجا انجام دهیم و یکی دیگر را
364
00:24:33,379 –> 00:24:42,700
اینجا و همچنین اینجا و همچنین اینجا و
365
00:24:42,700 –> 00:24:51,440
سپس آن را ذخیره کنید و اجرا کنید یا شاید سرورمان را
366
00:24:51,440 –> 00:24:57,799
رفرش کنیم، بنابراین فرض کنید فلاسک
367
00:24:57,799 –> 00:25:00,489
اجرا شود،
368
00:25:02,200 –> 00:25:05,359
بیایید آن را رفرش کنیم و اکنون می بینیم
369
00:25:05,359 –> 00:25:09,049
که خط خورده است. بنابراین این هم کار می کند، بنابراین
370
00:25:09,049 –> 00:25:11,299
این توییتی است که قبلا ارسال
371
00:25:11,299 –> 00:25:17,149
شده است و بله، بنابراین اکنون
372
00:25:17,149 –> 00:25:20,210
لیست توییت ها را داریم و اکنون کاری که می خواهیم
373
00:25:20,210 –> 00:25:23,480
انجام دهیم این است که یک فرم اضافه کنیم که
374
00:25:23,480 –> 00:25:28,580
بتوانیم توییت ها را اضافه کنیم، پس بیایید
375
00:25:28,580 –> 00:25:33,919
به فایل اصلی خود برگردیم و سپس کاری که می خواهیم
376
00:25:33,919 –> 00:25:38,359
انجام دهیم این است که یک مسیر دوم تعریف کنید، بنابراین
377
00:25:38,359 –> 00:25:43,249
اجازه دهید این را کپی کرده و آن را
378
00:25:43,249 –> 00:25:51,619
در اینجا بچسبانیم، بنابراین بیایید این توییت اسلش را صدا کنیم و
379
00:25:51,619 –> 00:25:54,980
سپس این باید یک متد ارسال باشد، بنابراین
380
00:25:54,980 –> 00:26:00,350
میگوییم متدها برابر است و سپس پست میکنیم و
381
00:26:00,350 –> 00:26:04,419
سپس اجازه دهید تابع را در
382
00:26:04,419 –> 00:26:08,059
زیر خط توییت و در اینجا آنچه را که میخواهیم فراخوانی کنیم.
383
00:26:08,059 –> 00:26:11,119
میخواهیم انجام دهیم این است که میخواهیم به انجمن دسترسی پیدا کنیم و
384
00:26:11,119 –> 00:26:15,529
سپس آن را به صفحهگسترده خود اضافه کنیم، بنابراین
385
00:26:15,529 –> 00:26:20,119
بیایید ابتدا انجمن را پیادهسازی کنیم، بنابراین
386
00:26:20,119 –> 00:26:24,950
در HTML اصلی خود باید فرم را اضافه
387
00:26:24,950 –> 00:26:27,110
کنیم، بنابراین میگوییم فرم
388
00:26:27,110 –> 00:26:28,240
[Music]
389
00:26:28,240 –> 00:26:34,730
و سپس بیایید به این یک شناسه و شناسه بدهیم.
390
00:26:34,730 –> 00:26:39,970
فرم برابر است تا بتوانیم به آن دسترسی داشته باشیم
391
00:26:39,970 –> 00:26:47,240
و اکشن باید مساوی باشد و بریده بریده شود،
392
00:26:47,240 –> 00:26:49,580
بنابراین همان مسیری است که
393
00:26:49,580 –> 00:26:55,400
تعریف کردیم و متد باید یک متد پست باشد
394
00:26:55,400 –> 00:27:00,950
و سپس در این فرم
395
00:27:00,950 –> 00:27:06,010
یک استایلینگ انجام می دهیم تا یک div ایجاد کنیم و
396
00:27:06,760 –> 00:27:11,750
بیایید دریافت کنیم. این یک کلاس است و به
397
00:27:11,750 –> 00:27:17,840
آن flex می گویند: 6 بنابراین این به این دلیل است که ما
398
00:27:17,840 –> 00:27:21,320
از بوت استرپ استفاده می کنیم و در
399
00:27:21,320 –> 00:27:23,030
اینجا وارد جزئیات نمی شویم، بنابراین این فقط برای
400
00:27:23,030 –> 00:27:27,200
استایل دادن است، همچنین می توانید این کار را انجام ندهید
401
00:27:27,200 –> 00:27:30,700
و سپس کاری که می خواهیم انجام دهیم این است
402
00:27:30,700 –> 00:27:35,030
که بیایید انجام دهیم. به برنامه نهایی برگردیم تا
403
00:27:35,030 –> 00:27:40,960
بخواهیم داشته باشیم 4 فیلد ورودی و سپس 1
404
00:27:40,960 –> 00:27:44,030
دکمه ارسال، بنابراین بیایید این کار را انجام دهیم
405
00:27:44,030 –> 00:27:45,830
تا یکی برای پیام یکی برای
406
00:27:45,830 –> 00:27:52,580
زمان و یکی برای رمز عبور داشته باشیم، بنابراین
407
00:27:52,580 –> 00:27:59,740
فرض کنید یک ورودی و یک ورودی با عرض پوزش در حال بسته شدن داریم
408
00:27:59,740 –> 00:28:09,740
و سپس اجازه دهید سریع فکر کنم
409
00:28:09,740 –> 00:28:13,760
که نه. به این نیاز داریم، بنابراین حالا کاری که
410
00:28:13,760 –> 00:28:16,160
میخواهیم انجام دهیم، میخواهیم به آن یک شناسه
411
00:28:16,160 –> 00:28:23,240
بدهیم، بنابراین میگوییم ID برابر با عنوان است و بنابراین این
412
00:28:23,240 –> 00:28:27,260
فقط برای استایل است، سپس میخواهیم بگوییم
413
00:28:27,260 –> 00:28:36,680
کلاس برابر است با کنترل فرم و سپس
414
00:28:36,680 –> 00:28:39,170
این یک نوع است
415
00:28:39,170 –> 00:28:44,540
با متن و سپس باید یک
416
00:28:44,540 –> 00:28:46,970
نام داشته باشد، بنابراین ما می توانیم از برنامه flask خود به آن دسترسی داشته باشیم
417
00:28:46,970 –> 00:28:52,610
و نام آن پیام است و
418
00:28:52,610 –> 00:28:55,310
همچنین می خواهیم یک مکان نگهدار در اینجا بدهیم، بنابراین
419
00:28:55,310 –> 00:29:01,390
فرض کنید متغیر مکان برابر است و سپس در
420
00:29:01,390 –> 00:29:07,640
پیام، بنابراین این اولین ورودی است، پس
421
00:29:07,640 –> 00:29:11,330
بیایید این را کپی کنید، پس بیایید یکی
422
00:29:11,330 –> 00:29:15,980
دیگر و یکی دیگر و سومی انجام دهیم، بنابراین
423
00:29:15,980 –> 00:29:20,570
در دومی این تاریخ است، بنابراین ما
424
00:29:20,570 –> 00:29:24,680
نام داریم، فرض کنید به این زمان می گویند
425
00:29:24,680 –> 00:29:27,580
و سپس می خواهیم
426
00:29:27,580 –> 00:29:31,400
مکان نگهدار را اضافه کنیم، فرض کنید در زمان و سپس
427
00:29:31,400 –> 00:29:34,640
اجازه دهید نشان دهیم کاربر در قالبی که
428
00:29:34,640 –> 00:29:37,690
میخواهیم داشته باشیم، بنابراین میخواهیم سالهای
429
00:29:37,690 –> 00:29:42,410
t را داشته باشیم ماه و سپس روز و سپس یک
430
00:29:42,410 –> 00:29:46,880
فاصله و سپس ساعت یک دونقطه
431
00:29:46,880 –> 00:29:50,360
دقیقه یک دونقطه و سپس دوم پس
432
00:29:50,360 –> 00:29:52,490
این فرمتی است که می خواهیم داشته باشیم
433
00:29:52,490 –> 00:29:57,800
پس حالا بیایید از یک رمز عبور نیز استفاده کنیم بنابراین
434
00:29:57,800 –> 00:30:01,190
این فقط برای امنیت است اما در واقع این
435
00:30:01,190 –> 00:30:03,590
است این واقعاً برای امنیت بد است،
436
00:30:03,590 –> 00:30:06,470
بنابراین اگر این را به دیگران نشان میدهید این کار را انجام ندهید،
437
00:30:06,470 –> 00:30:09,890
اما
438
00:30:09,890 –> 00:30:12,760
بله فقط برای سرگرمی، وقتی یک
439
00:30:12,760 –> 00:30:15,610
رمز عبور دارید و سپس فرض کنید
440
00:30:15,610 –> 00:30:19,940
رمز عبور را وارد کنید و سپس آخرین آن را وارد کنید
441
00:30:19,940 –> 00:30:25,240
دکمه ارسال است، بنابراین ما به آن شناسه
442
00:30:25,240 –> 00:30:29,510
sup MIT می دهیم، بنابراین این فقط برای استایل است
443
00:30:29,510 –> 00:30:34,370
و دکمه کلاس برابر است و نوع
444
00:30:34,370 –> 00:30:41,390
در اینجا برابر است با ارسال و مقدار، بنابراین در اینجا
445
00:30:41,390 –> 00:30:43,730
ما یک مکان نگهدار در اینجا نداریم،
446
00:30:43,730 –> 00:30:51,050
یک مقدار داریم و این در توییت نامیده شد، بنابراین
447
00:30:51,050 –> 00:30:52,909
اکنون
448
00:30:52,909 –> 00:30:57,320
فرم خود را آماده کرده ایم، بنابراین حالا بیایید این را ذخیره کنیم و
449
00:30:57,320 –> 00:30:58,840
[Music]
450
00:30:58,840 –> 00:31:08,479
اجازه دهید برگردیم فعلاً یک کلمه داشتیم و
451
00:31:08,479 –> 00:31:12,639
بیایید این را ذخیره کنیم و نگاهی بیندازیم اگر
452
00:31:12,639 –> 00:31:15,859
فرم ما درست به نظر می رسد، بنابراین بیایید این را پاک کنیم
453
00:31:15,859 –> 00:31:21,379
و دوباره flask run را فراخوانی کنیم. و
454
00:31:21,379 –> 00:31:24,440
به وب سایت بروید و این را دوباره بارگذاری کنید
455
00:31:24,440 –> 00:31:27,919
و سپس می بینیم که بله داریم
456
00:31:27,919 –> 00:31:33,950
فرم به شکلی که ما می خواهیم و اکنون کاری که
457
00:31:33,950 –> 00:31:37,220
باید انجام دهیم این است که متد add tweet را پیاده سازی کنیم،
458
00:31:37,220 –> 00:31:41,029
بنابراین آنچه می خواهیم در اینجا انجام دهیم این است که
459
00:31:41,029 –> 00:31:43,999
می خواهیم به این سه فرم دسترسی داشته باشیم بنابراین می
460
00:31:43,999 –> 00:31:48,769
گوییم پیام برابر است و سپس باید
461
00:31:48,769 –> 00:31:53,149
درخواست واردات را وارد کنیم. از flask و سپس
462
00:31:53,149 –> 00:32:00,769
می توانیم بگوییم برابر است فرم درخواست نقطه و
463
00:32:00,769 –> 00:32:04,460
سپس نام این فرم پس در این
464
00:32:04,460 –> 00:32:10,129
مورد نام پیام بود و سپس
465
00:32:10,129 –> 00:32:13,759
با زمان و پسورد
466
00:32:13,759 –> 00:32:23,679
همین کار را انجام می دهیم بنابراین می گوییم زمان برابر است و P W
467
00:32:23,679 –> 00:32:31,609
برابر این است. من اینجا هم به این P W میگویم،
468
00:32:31,609 –> 00:32:41,599
بنابراین P W و سپس کاری که میخواهیم اینجا انجام دهیم این
469
00:32:41,599 –> 00:32:46,099
است که ابتدا بیایید بررسیهای ایمنی انجام دهیم
470
00:32:46,099 –> 00:32:50,229
اگر این وارد شده بود، بنابراین میگوییم اگر پیام نیست،
471
00:32:50,229 –> 00:32:57,999
سپس به سادگی arawa را برمیگردانیم،
472
00:32:57,999 –> 00:33:03,499
خوب بیایید بگوییم خطا بدون پیام است و در اینجا
473
00:33:03,499 –> 00:33:06,820
اگر نه
474
00:33:07,369 –> 00:33:21,999
زمان و سپس دوره را برگردان نه هیچ زمان و
475
00:33:21,999 –> 00:33:29,169
یک بار دیگر برای پسورد اگر نه P
476
00:33:29,169 –> 00:33:37,820
W گذرواژه اشتباه است پس بیایید این را نیز بررسی
477
00:33:37,820 –> 00:33:44,019
کنیم اگر بگوییم اگر رمز عبور نیست یا
478
00:33:44,019 –> 00:33:48,080
رمز عبور برابر نیست به
479
00:33:48,080 –> 00:33:50,779
آن رمز عبور بدهیم یک دو سه چهار پنج بنابراین
480
00:33:50,779 –> 00:33:53,149
باز هم این کد بسیار بدی برای
481
00:33:53,149 –> 00:33:55,580
امنیت است اما برای پروژه ساده
482
00:33:55,580 –> 00:34:01,429
483
00:34:01,429 –> 00:34:06,350
484
00:34:06,350 –> 00:34:08,839
اشکالی ندارد و سپس خطا را برمیگردانیم و در غیر این صورت میتوانیم ادامه دهیم، بنابراین باید یک بررسی ایمنی دیگر برای
485
00:34:08,839 –> 00:34:11,109
پیام انجام دهیم زیرا توییتر فقط
486
00:34:11,109 –> 00:34:15,980
توییتهایی با طول 280 علامت یا
487
00:34:15,980 –> 00:34:19,940
کاراکتر را مجاز میکند، بنابراین بررسی میکنیم که آیا Leng و پس
488
00:34:19,940 –> 00:34:25,489
اجازه دهید این را ببندم اگر طول پیام
489
00:34:25,489 –> 00:34:33,770
بزرگتر از 280 باشد، پیکان mmm را برمی گردانیم
490
00:34:33,770 –> 00:34:41,179
و پیام را خیلی طولانی می گوییم و سپس کاری که
491
00:34:41,179 –> 00:34:44,869
می خواهیم اینجا انجام دهیم این است که اکنون باید
492
00:34:44,869 –> 00:34:48,500
مراقب زمان باشیم زیرا در حال
493
00:34:48,500 –> 00:34:57,740
حاضر آن را در قالب رشته ای داریم. و در
494
00:34:57,740 –> 00:34:59,569
قالب رشته بله و میخواهیم بررسی
495
00:34:59,569 –> 00:35:02,780
کنیم که آیا این واقعاً یک تاریخ معتبر است و
496
00:35:02,780 –> 00:35:06,870
همچنین آیا تاریخ در گذشته نیست، بنابراین
497
00:35:06,870 –> 00:35:08,079
[Music]
498
00:35:08,079 –> 00:35:12,950
برای این کار کمی استفاده میکنیم یا
499
00:35:12,950 –> 00:35:16,579
تابع کمی کمکی را پیادهسازی میکنیم،
500
00:35:16,579 –> 00:35:19,619
بیایید تماس بگیریم این
501
00:35:19,619 –> 00:35:23,670
زمان تاریخ را تعریف میکند و
502
00:35:23,670 –> 00:35:29,130
زمان تاریخها را بهعنوان یک رشته دریافت میکند و برای این کار
503
00:35:29,130 –> 00:35:33,299
از ماژولهای تاریخ و زمان روز استفاده
504
00:35:33,299 –> 00:35:38,490
میکنیم، بنابراین میتوانیم از زمان تاریخ بگوییم که میخواهیم
505
00:35:38,490 –> 00:35:45,180
زمان تاریخ را وارد کنیم و سپس اجازه دهید
506
00:35:45,180 –> 00:35:49,200
این تابع را در اینجا پیادهسازی کنیم.
507
00:35:49,200 –> 00:35:53,160
می خواهم تاریخ ها را دریافت کنم e
508
00:35:53,160 –> 00:35:57,210
شیء تاریخ زمان در ابتدا برابر با هیچ است
509
00:35:57,210 –> 00:36:02,579
و ما نیز متأسفم که ما نیز
510
00:36:02,579 –> 00:36:07,710
یک کد خطا تعریف می کنیم، بنابراین کد خطا برابر با
511
00:36:07,710 –> 00:36:12,960
هیچ است و سپس این را در یک try
512
00:36:12,960 –> 00:36:17,789
به جز بلوک می بندیم، بنابراین می گوییم try و سپس
513
00:36:17,789 –> 00:36:21,480
زمان تاریخ خود را می گوییم. شی برابر است و سپس
514
00:36:21,480 –> 00:36:25,230
از ماژول روز استفاده می کنیم و
515
00:36:25,230 –> 00:36:31,200
این تابعی دارد که به آن رشته P
516
00:36:31,200 –> 00:36:37,980
time می گویند و سپس در اینجا باید
517
00:36:37,980 –> 00:36:42,029
رشته زمان حالت و سپس قالبی
518
00:36:42,029 –> 00:36:47,309
که در آن می خواهیم داشته باشد، بیایید این را در گوگل جستجو
519
00:36:47,309 –> 00:36:54,739
کنیم، فرض کنید پایتون زمان تاریخ از رشته
520
00:36:54,829 –> 00:37:03,170
میلیمتر بیایید ببینیم آیا این مفید است،
521
00:37:08,110 –> 00:37:10,690
بنابراین بله، بنابراین اساساً چیزی شبیه به
522
00:37:10,690 –> 00:37:14,730
این است، بنابراین در اینجا باید رشته را به آن بدهیم،
523
00:37:14,730 –> 00:37:22,780
بنابراین این true نیز آن
524
00:37:22,780 –> 00:37:31,870
را کپی نکرده است، بنابراین بیایید دوباره آن را برداریم و آن
525
00:37:31,870 –> 00:37:36,250
را در اینجا بچسبانیم. مورد ما چه میخواهیم، بنابراین می
526
00:37:36,250 –> 00:37:40,930
توانیم ببینیم که Y برای سال داریم و س
527
00:37:40,930 –> 00:37:46,270
س یک میخواهیم، فکر میکنم شما نیز میتوانید از y بز
528
00:37:46,270 –> 00:37:49,000
گ استفاده کنید، بنابراین من از یک y بزرگ و سپس
529
00:37:49,000 –> 00:37:57,550
ک درصد M برای ماه و سپس دی
530
00:37:57,550 –> 00:38:01,810
ری استفاده میکنم – و یک درصد D برای
531
00:38:01,810 –> 00:38:09,730
روز، بنابراین این تاریخ است و سپس
532
00:38:09,730 –> 00:38:13,530
می خواهیم یک فاصله و سپس w داشته باشیم میخواهم
533
00:38:13,530 –> 00:38:16,900
ساعتها، ماهها، ساعتها، دقیقهها
534
00:38:16,900 –> 00:38:21,220
و ثانیهها را داشته باشیم، بنابراین فکر میکنم این
535
00:38:21,220 –> 00:38:25,780
باید درست باشد، بنابراین اکنون آن را به یک
536
00:38:25,780 –> 00:38:28,660
شی تاریخ/زمان تبدیل میکنیم و اگر
537
00:38:28,660 –> 00:38:31,270
فرمت درستی نداشته باشد،
538
00:38:31,270 –> 00:38:34,540
یک خطای مقدار ایجاد میکند. خطای مقدار را افزایش می دهد
539
00:38:34,540 –> 00:38:35,440
،
540
00:38:35,440 –> 00:38:39,360
بنابراین ما اینجا را با گفتن
541
00:38:39,360 –> 00:38:43,600
خطای مقدار s e
542
00:38:43,600 –> 00:38:49,170
543
00:38:49,170 –> 00:38:53,500
می یابیم و سپس فرض کنید کد خطای ما برابر است، بیایید از یک رشته F استفاده کنیم و سپس
544
00:38:53,500 –> 00:39:01,270
فلش واقعی را
545
00:39:01,270 –> 00:39:06,670
اینجا می گوییم و اگر این کار جواب داد و
546
00:39:06,670 –> 00:39:08,680
ما می خواهیم کاری که میخواهیم در اینجا انجام دهیم این است
547
00:39:08,680 –> 00:39:13,720
که میخواهیم بررسی کنیم که آیا تاریخ ما در
548
00:39:13,720 –> 00:39:20,500
آینده است یا نه، بنابراین میگوییم اگر تاریخها زمان مخالف
549
00:39:20,500 –> 00:39:29,710
هیچکدام نیستند، باید در اینجا مراقب باشیم
550
00:39:29,710 –> 00:39:36,730
زیرا وقتی این را به صورت محلی
551
00:39:36,730 –> 00:39:42,760
اجرا میکنم، میتوانیم این را با صفحه بررسی کنیم. اکنون زمان است،
552
00:39:42,760 –> 00:39:46,060
اما زمانی که من اسکریپت را اجرا می کنم یا
553
00:39:46,060 –> 00:39:49,480
بله، این فلاسک را روی
554
00:39:49,480 –> 00:39:53,080
هروکو روی این کار می کنم، این بار این سرور در
555
00:39:53,080 –> 00:39:56,040
بلوط او که ممکن است زمان متفاوتی داشته باشد،
556
00:39:56,040 –> 00:40:01,990
بنابراین کاری که می خواهیم اینجا انجام دهیم این است که می خواهیم
557
00:40:01,990 –> 00:40:09,270
از یک UTC استفاده کنیم. زمان پس ما می گوییم بیایید بگوییم
558
00:40:09,270 –> 00:40:13,720
بیایید این زمان UTC را در گوگل جستجو کنیم او
559
00:40:13,720 –> 00:40:16,810
زمان جهانی را هماهنگ کرد که
560
00:40:16,810 –> 00:40:19,390
برای همه یکسان است و ما میتوانیم به
561
00:40:19,390 –> 00:40:24,820
آن در پایتون دسترسی داشته باشیم، بنابراین میتوانیم با
562
00:40:24,820 –> 00:40:35,320
گفتن نقطه تاریخ/زمان UTC اکنون این را دریافت کنیم و کاری که
563
00:40:35,320 –> 00:40:38,710
باید انجام دهیم این است که باید این
564
00:40:38,710 –> 00:40:44,040
زمان را به زمان خود تبدیل کنیم، بنابراین اکنون به این میگویند. زمان به
565
00:40:44,040 –> 00:40:50,860
وقت اروپای مرکزی برابر است و سپس
566
00:40:50,860 –> 00:40:53,140
باید افست را محاسبه کنیم تا
567
00:40:53,140 –> 00:40:57,880
ببینیم زمان UTC 4 بعد از ظهر است. در
568
00:40:57,880 –> 00:41:06,580
حال حاضر و اگر من برای CET در گوگل سرچ کنم، می
569
00:41:06,580 –> 00:41:11,760
بینیم که ساعت 6:18 است، پس به اضافه 2 ساعت است،
570
00:41:11,760 –> 00:41:17,230
بنابراین برای تبدیل آن به عقب می توانیم
571
00:41:17,230 –> 00:41:25,180
بگوییم plus time Delta، باید این را نیز
572
00:41:25,180 –> 00:41:27,310
وارد کنیم تا بتوانیم این را از روز وارد کنیم
573
00:41:27,310 –> 00:41:33,160
و بگوییم زمان دلتا و سپس می
574
00:41:33,160 –> 00:41:34,330
گوییم
575
00:41:34,330 –> 00:41:40,599
آنها دلتا و می گوییم مال ما برابر است با دو، سپس
576
00:41:40,599 –> 00:41:44,619
اگر این کار را انجام دهیم، همیشه زمان را در
577
00:41:44,619 –> 00:41:48,460
زمان CET داریم، زیرا برای من، من هستم،
578
00:41:48,460 –> 00:41:51,700
من ورودی را در زمان محلی خود انجام می دهم، اما
579
00:41:51,700 –> 00:41:54,070
در سرور ممکن است متفاوت باشد
580
00:41:54,070 –> 00:41:55,830
، به همین دلیل است که ما باید از این
581
00:41:55,830 –> 00:41:59,830
محاسبات کوچک در اینجا استفاده کنیم، بنابراین اکنون ساعت
582
00:41:59,830 –> 00:42:04,740
روز را به وقت اروپای مرکزی داریم و
583
00:42:04,740 –> 00:42:15,900
اکنون می توانیم بررسی کنیم که آیا اشیاء زمان تاریخ
584
00:42:15,900 –> 00:42:22,060
بزرگتر از اکنون زمان CET است،
585
00:42:22,060 –> 00:42:25,150
پس این در آینده نیست. سپس می
586
00:42:25,150 –> 00:42:32,380
گوییم کد خطا برابر با era است و سپس زمان
587
00:42:32,380 –> 00:42:39,359
است زمان ما باید در آینده باشد و
588
00:42:39,359 –> 00:42:45,820
سپس شی تاریخ و
589
00:42:45,820 –> 00:42:50,440
کد خطا را برمی گردانیم و بنابراین این تابع کمکی ما
590
00:42:50,440 –> 00:42:56,589
است و اکنون اینجا پایین است تا
591
00:42:56,589 –> 00:43:00,160
ما بررسی ایمنی خود را انجام دهیم تا پیام ما در حال حاضر معتبر است،
592
00:43:00,160 –> 00:43:05,500
بنابراین اکنون بیایید زمان را به
593
00:43:05,500 –> 00:43:10,000
شی زمان تاریخ توسط sayi تجزیه کنیم ng date time
594
00:43:10,000 –> 00:43:23,109
شیء و کد خطا برابر است get چگونه آن را
595
00:43:23,109 –> 00:43:29,830
می نامیم get dates time و سپس به عنوان
596
00:43:29,830 –> 00:43:34,330
پارامتر از زمان استفاده می کنیم و سپس
597
00:43:34,330 –> 00:43:40,030
بررسی می کنیم که آیا کد خطای ما وجود ندارد پس اگر
598
00:43:40,030 –> 00:43:45,430
کد خطا وجود ندارد پس
599
00:43:45,430 –> 00:43:47,230
[Music]
600
00:43:47,230 –> 00:43:51,260
خوب این را برمی گردانیم. بنابراین این یک رشته است
601
00:43:51,260 –> 00:43:55,630
پس بیایید کد پیکان را برگردانیم و
602
00:43:55,630 –> 00:43:59,990
در غیر این صورت همه ورودیهای ما معتبر هستند، بنابراین
603
00:43:59,990 –> 00:44:03,590
میتوانیم آن را به
604
00:44:03,590 –> 00:44:07,630
صفحهگسترده اضافه کنیم، بنابراین میگوییم صفحه کار نقطه
605
00:44:07,630 –> 00:44:14,600
اضافه کردن ردیف و سپس به این یک توییت جدید میدهیم،
606
00:44:14,600 –> 00:44:18,640
بنابراین بیایید این را ایجاد کنیم، بیایید بگوییم
607
00:44:18,640 –> 00:44:24,140
توییت برابر است و سپس در اینجا باید
608
00:44:24,140 –> 00:44:30,050
یک لیست با همان عناصر
609
00:44:30,050 –> 00:44:33,080
اینجا ایجاد کنیم، بنابراین ابتدا باید زمان بندی کنیم،
610
00:44:33,080 –> 00:44:39,590
سپس پیام را انجام دهیم، فرض کنید
611
00:44:39,590 –> 00:44:43,100
می خواهیم شی زمان را دوباره به عنوان رشته داشته
612
00:44:43,100 –> 00:44:48,040
باشیم، سپس می خواهیم
613
00:44:48,040 –> 00:44:51,680
پیام واقعی را داشته باشیم. و سپس یک صفر چون
614
00:44:51,680 –> 00:44:54,700
هنوز انجام نشده است و سپس این را به صفحه گسترده اضافه می کنیم
615
00:44:54,700 –> 00:44:57,650
و سپس کاری که می خواهیم انجام
616
00:44:57,650 –> 00:45:00,190
دهیم می خواهیم کاربر را به
617
00:45:00,190 –> 00:45:05,920
صفحه فهرست هدایت کنیم بنابراین می گوییم بازگشت تغییر مسیر و
618
00:45:05,920 –> 00:45:11,570
سپس به مسیر فقط اسلش کنید و همچنین
619
00:45:11,570 –> 00:45:16,630
داریم برای وارد کردن این از flask import
620
00:45:16,630 –> 00:45:21,830
r edirect وجود دارد، بنابراین بله، این
621
00:45:21,830 –> 00:45:26,620
باید اجرای روش توییت کلاه باشد،
622
00:45:26,620 –> 00:45:34,700
پس بیایید سرور را دوباره راه اندازی کنیم
623
00:45:34,700 –> 00:45:40,120
و امیدوار باشیم که همه چیز کار می کند، بنابراین
624
00:45:40,120 –> 00:45:42,460
[Music]
625
00:45:42,460 –> 00:45:46,940
بیایید این و این و این و
626
00:45:46,940 –> 00:45:50,510
آن را ببندیم و آن را رفرش کنیم و سپس اجازه دهید در آن زمان
627
00:45:50,510 –> 00:45:53,480
. به دوستان توییتری سلام برسانید، پس
628
00:45:53,480 –> 00:45:58,480
این بار و این رمز عبور و سپس
629
00:45:58,480 –> 00:46:03,130
در توییتها، بله، بنابراین کار کرد، بنابراین در اینجا
630
00:46:03,130 –> 00:46:07,530
ما توییت جدید خود را داریم، بیایید به
631
00:46:07,530 –> 00:46:11,520
صفحهگسترده برویم و قبلاً در آنجا است،
632
00:46:11,520 –> 00:46:20,440
بنابراین بیایید بررسی کنیم که آیا
633
00:46:20,440 –> 00:46:22,540
این مقادیر را وارد نمیکنیم یا نه یک خطا دریافت
634
00:46:22,540 –> 00:46:26,160
کنید، بله، ما خطا داریم بدون پیام و
635
00:46:26,160 –> 00:46:29,319
سلام دوستان توییتر، پس بیایید یک
636
00:46:29,319 –> 00:46:33,220
زمان را در قالب دیگری قرار دهیم، بنابراین به شما اجازه می دهد
637
00:46:33,220 –> 00:46:37,869
در اینجا از اسلش استفاده کنید، سپس ما نیز یک خطا دریافت می کنیم،
638
00:46:37,869 –> 00:46:42,910
بنابراین اکنون کار می کند، اجازه دهید از یک
639
00:46:42,910 –> 00:46:45,849
رمز عبور متفاوت استفاده کنیم و در اینجا ما
640
00:46:45,849 –> 00:46:49,059
خطای رمز عبور اشتباه است، بنابراین این کار می کند
641
00:46:49,059 –> 00:46:55,540
و بیایید زمانی را بررسی کنیم که
642
00:46:55,540 –> 00:47:03,750
در آینده نیست، بنابراین بیایید از 2019 1 2 3 4 5 استفاده
643
00:47:03,750 –> 00:47:06,700
کنیم، سپس می بینیم که زمان خطا باید در
644
00:47:06,700 –> 00:47:10,180
آینده باشد، بنابراین این نیز کار می کند، شما باید
645
00:47:10,180 –> 00:47:12,970
زمان بندی توییت کنید. همچنین کار می کند ng
646
00:47:12,970 –> 00:47:16,540
و یک چیز دیگر که میخواهم آن را
647
00:47:16,540 –> 00:47:19,630
بهبود ببخشم، میخواهم این لیست را معکوس کنم،
648
00:47:19,630 –> 00:47:23,349
بنابراین جدیدترین ورودی باید در بالای صفحه باشد،
649
00:47:23,349 –> 00:47:30,910
بنابراین میتوانیم به سادگی توییتها را مساوی یا
650
00:47:30,910 –> 00:47:34,809
توییتها را معکوس کنیم، این یک
651
00:47:34,809 –> 00:47:39,880
تابع داخلی است که لیست خود را معکوس میکنیم و
652
00:47:39,880 –> 00:47:44,079
سپس باید برعکس باشد،
653
00:47:44,079 –> 00:47:49,510
بنابراین اکنون کاری که میخواهیم انجام دهیم این است
654
00:47:49,510 –> 00:47:55,000
که تابعی را برای حذف مجدد توییت پیادهسازی کنیم،
655
00:47:55,000 –> 00:48:00,400
بنابراین برای این کار اجازه دهید مسیر دیگری ایجاد کنیم
656
00:48:00,400 –> 00:48:05,680
و این را در اینجا بچسبانیم و
657
00:48:05,680 –> 00:48:09,450
این را حذف
658
00:48:09,540 –> 00:48:15,030
میگوییم و همچنین باید آن را مشخص کنیم.
659
00:48:15,030 –> 00:48:18,960
شناسه پیامی که میخواهیم آن را حذف کنیم،
660
00:48:18,960 –> 00:48:22,290
برای این کار از فهرست ردیف استفاده
661
00:48:22,290 –> 00:48:26,430
میکنیم، بنابراین میگوییم اسلش و سپس این نحو است،
662
00:48:26,430 –> 00:48:30,260
بنابراین int و سپس کولون و سپس
663
00:48:30,260 –> 00:48:37,190
فهرست ردیف و سپس این توییت حذف را صدا میزنیم
664
00:48:37,190 –> 00:48:41,130
و این پارامتر را دارد. row
665
00:48:41,130 –> 00:48:45,240
index و در اینجا ما دوباره از صفحه گسترده استفاده می کنیم
666
00:48:45,240 –> 00:48:48,750
و می گوییم نقطه کار
667
00:48:48,750 –> 00:48:54,950
و فراخوانی حذف ردیف ها، بنابراین دوباره این
668
00:48:54,950 –> 00:48:58,