در این مطلب، ویدئو برنامه وب پایتون میکروسرویس (با React، Django، Flask) – دوره کامل با زیرنویس فارسی را برای دانلود قرار داده ام. شما میتوانید با پرداخت 15 هزار تومان ، این ویدیو به علاوه تمامی فیلم های سایت را دانلود کنید.اکثر فیلم های سایت به زبان انگلیسی می باشند. این ویدئو دارای زیرنویس فارسی ترجمه شده توسط هوش مصنوعی می باشد که میتوانید نمونه ای از آن را در قسمت پایانی این مطلب مشاهده کنید.
مدت زمان فیلم: 2:16:05
تصاویر این ویدئو:
قسمتی از زیرنویس این فیلم:
00:00:00,719 –> 00:00:03,439
سلام و به این آموزش خوش آمدید من
2
00:00:03,439 –> 00:00:06,240
آنتونیو پاپا هستم از scalablescripts.com
3
00:00:06,240 –> 00:00:09,280
و در این آموزش یک
4
00:00:09,280 –> 00:00:12,320
نمونه میکروسرویس با استفاده از پایتون ایجاد می کنیم و
5
00:00:12,320 –> 00:00:13,759
واکنش نشان
6
00:00:13,759 –> 00:00:16,160
می دهیم.
7
00:00:16,160 –> 00:00:19,920
8
00:00:19,920 –> 00:00:22,400
9
00:00:22,400 –> 00:00:24,480
دارای عملکردهای زیادی
10
00:00:24,480 –> 00:00:26,320
است و در این مثال با یک پایگاه داده بزرگ متصل است
11
00:00:26,320 –> 00:00:28,000
12
00:00:28,000 –> 00:00:30,240
که من به شما نشان می دهم
13
00:00:30,240 –> 00:00:34,480
می توانید فکر کنید این به عنوان یک سایت nicomer
14
00:00:34,480 –> 00:00:36,960
ما یک عملکرد جستجو داریم که
15
00:00:36,960 –> 00:00:38,640
ترافیک زیادی دارد
16
00:00:38,640 –> 00:00:40,320
ما یک لیست محصول داریم
17
00:00:40,320 –> 00:00:41,040
که
18
00:00:41,040 –> 00:00:42,800
در حافظه پنهان ذخیره
19
00:00:42,800 –> 00:00:44,800
می شود یک عملکرد توصیه محصول
20
00:00:44,800 –> 00:00:46,160
21
00:00:46,160 –> 00:00:49,039
داریم که میتوانیم از یادگیری ماشین برای
22
00:00:49,039 –> 00:00:50,960
توصیه محصولات مختلف استفاده
23
00:00:50,960 –> 00:00:53,600
کنیم و صفحه تماسی داریم که در
24
00:00:53,600 –> 00:00:55,360
آن ترافیک کمتری
25
00:00:55,360 –> 00:00:58,079
داریم، مشکل این معماری این است که اگر
26
00:00:58,079 –> 00:01:00,079
بخواهیم این را افزایش دهیم
27
00:01:00,079 –> 00:01:02,399
زیرا جستجو ترافیک زیادی دارد.
28
00:01:02,399 –> 00:01:04,000
باید
29
00:01:04,000 –> 00:01:05,760
همه عملکردها
30
00:01:05,760 –> 00:01:08,320
را تکرار کنیم، بنابراین قسمتهایی
31
00:01:08,320 –> 00:01:10,799
از کد را که هیچ ترافیکی ندارند مانند
32
00:01:10,799 –> 00:01:12,479
صفحه تماس
33
00:01:12,479 –> 00:01:15,520
نیز تکرار میکنیم، زیرا یک ذخیرهسازی است.
34
00:01:15,520 –> 00:01:18,400
فقط یک زبان می تواند وجود داشته باشد و شما می توانید
35
00:01:18,400 –> 00:01:19,520
36
00:01:19,520 –> 00:01:22,080
مشکلات دیگری را برای تیم های دیگر ایجاد کنید که
37
00:01:22,080 –> 00:01:24,000
اگر کد آنها را تغییر دهید زیرا اکنون
38
00:01:24,000 –> 00:01:26,240
فقط یک مخزن
39
00:01:26,240 –> 00:01:28,960
وجود دارد میکروسرویس
40
00:01:28,960 –> 00:01:32,079
ها سرویس های مستقل کوچکتری هستند که
41
00:01:32,079 –> 00:01:34,960
پایگاه داده خود را دارند و می توانند
42
00:01:34,960 –> 00:01:37,200
با یکدیگر ارتباط برقرار کنند. با استفاده از یک
43
00:01:37,200 –> 00:01:38,799
گذرگاه رویداد،
44
00:01:38,799 –> 00:01:41,200
بنابراین در مثال ما چهار
45
00:01:41,200 –> 00:01:42,880
میکروسرویس خواهیم داشت که
46
00:01:42,880 –> 00:01:45,360
همگی پایگاه
47
00:01:45,360 –> 00:01:46,960
داده خود را دارند و از طریق پیام ها با یکدیگر ارتباط برقرار می کنند.
48
00:01:46,960 –> 00:01:49,200
49
00:01:49,200 –> 00:01:52,079
50
00:01:52,079 –> 00:01:55,360
51
00:01:55,360 –> 00:01:57,600
52
00:01:57,600 –> 00:01:59,600
ما
53
00:01:59,600 –> 00:02:02,960
آن میکروسرویس را در مقایسه
54
00:02:02,960 –> 00:02:04,240
با مخاطبی
55
00:02:04,240 –> 00:02:06,719
که در آن تنها یک نمونه از
56
00:02:06,719 –> 00:02:09,679
میکروسرویس تماس داریم، چهار برابر مقیاس کردیم، مزیت دیگر
57
00:02:09,679 –> 00:02:12,640
جداسازی نگرانیها است که اکنون
58
00:02:12,640 –> 00:02:14,720
تیم توصیه محصول فقط میتواند
59
00:02:14,720 –> 00:02:16,800
بر یادگیری ماشین تمرکز کند و برنامه را
60
00:02:16,800 –> 00:02:19,360
بزرگتر نکند،
61
00:02:19,360 –> 00:02:22,000
همچنین هر تیم میتواند از یک برنامه استفاده کند.
62
00:02:22,000 –> 00:02:24,000
زبان های برنامه نویسی مختلف بر اساس
63
00:02:24,000 –> 00:02:25,440
64
00:02:25,440 –> 00:02:28,160
نیازهایشان حالا بیایید به سراغ برنامه ای برویم که
65
00:02:28,160 –> 00:02:29,840
ما
66
00:02:29,840 –> 00:02:32,160
در این مثال می سازیم ما یک
67
00:02:32,160 –> 00:02:35,760
نمونه میکروسرویس ساده با استفاده از پایتون می سازیم
68
00:02:35,760 –> 00:02:38,560
قسمت جلویی این برنامه
69
00:02:38,560 –> 00:02:42,000
با نمای واکنش زاویه ای ساخته می شود و
70
00:02:42,000 –> 00:02:45,120
می توانید مورد علاقه خود را انتخاب کنید در
71
00:02:45,120 –> 00:02:48,080
آنجا بک اند به دو برنامه یک
72
00:02:48,080 –> 00:02:51,040
برنامه مدیریت و برنامه اصلی تشکیل شده است. برنامه مدیریت
73
00:02:51,040 –> 00:02:53,200
با استفاده از django
74
00:02:53,200 –> 00:02:55,680
ساخته می شود و برنامه اصلی با استفاده از flask ساخته می شود که
75
00:02:55,680 –> 00:02:57,280
76
00:02:57,280 –> 00:03:01,040
هر دو در docker اجرا می شوند و
77
00:03:01,040 –> 00:03:05,440
با پایگاه داده خود در mysql متصل
78
00:03:05,440 –> 00:03:07,360
می شوند و با استفاده از رویدادهای rabbitmq با یکدیگر ارتباط برقرار می کنند
79
00:03:07,360 –> 00:03:10,080
80
00:03:10,080 –> 00:03:12,560
و در یک مورد برنامه اصلی به صورت
81
00:03:12,560 –> 00:03:15,840
داخلی تماس می گیرد. برنامه مدیریت
82
00:03:15,840 –> 00:03:18,800
اکنون بیایید ببینیم این برنامه چگونه به نظر می رسد،
83
00:03:18,800 –> 00:03:21,519
بنابراین این برنامه ای است که خواهیم ساخت
84
00:03:21,519 –> 00:03:24,159
، یک برنامه ساده است که در آن
85
00:03:24,159 –> 00:03:27,120
مدیر است و این برنامه اصلی
86
00:03:27,120 –> 00:03:29,840
در برنامه اصلی است که می توانیم محصولات را دوست داشته باشیم
87
00:03:29,840 –> 00:03:31,840
و در برنامه مدیریت ما می تواند
88
00:03:31,840 –> 00:03:33,280
محصولات
89
00:03:33,280 –> 00:03:35,840
را ایجاد کند بسیار ساده است اما فریب نخورید
90
00:03:35,840 –> 00:03:37,200
91
00:03:37,200 –> 00:03:39,440
زیرا دارای دو برنامه باطن با پایگاه داده متفاوت است
92
00:03:39,440 –> 00:03:40,640
93
00:03:40,640 –> 00:03:43,599
که با rabbitmq ارتباط برقرار می کنند که من
94
00:03:43,599 –> 00:03:45,760
آن را در سمت راست خود باز می کنم ،
95
00:03:45,760 –> 00:03:46,400
بنابراین
96
00:03:46,400 –> 00:03:48,640
بیایید یک مثال برای مثال ببینیم
97
00:03:48,640 –> 00:03:51,200
من این محصول را در اینجا
98
00:03:51,200 –> 00:03:53,680
دوست خواهم داشت و وقتی محصول را دوست داشتم می بینید
99
00:03:53,680 –> 00:03:59,080
که در حال حاضر رویدادی در rabbitmq رخ می
100
00:04:01,200 –> 00:04:04,560
دهد بنابراین رویداد در اینجا راه اندازی شده است
101
00:04:04,560 –> 00:04:07,599
و ما یک رویداد آماده داریم و اکنون
102
00:04:07,599 –> 00:04:10,799
صفر است بنابراین به این معنی است که مصرف شده است
103
00:04:10,799 –> 00:04:13,120
بنابراین اگر ببینیم در اینجا بیایید ادمین را رفرش
104
00:04:13,120 –> 00:04:15,280
105
00:04:15,280 –> 00:04:19,120
کنیم، میتوانیم ببینیم که ما یک لایک دیگر در اینجا دریافت کردهایم،
106
00:04:19,120 –> 00:04:21,839
بنابراین در اصل واقعاً ساده است،
107
00:04:21,839 –> 00:04:24,000
اما
108
00:04:24,639 –> 00:04:25,759
این لایک
109
00:04:25,759 –> 00:04:28,479
عملکرد بیشتری دارد زیرا
110
00:04:28,479 –> 00:04:30,800
به صورت داخلی با ادمین نیز تماس میگیرد تا
111
00:04:30,800 –> 00:04:31,600
112
00:04:31,600 –> 00:04:33,360
یک کاربر تصادفی دریافت کند
113
00:04:33,360 –> 00:04:34,960
و
114
00:04:34,960 –> 00:04:36,240
115
00:04:36,240 –> 00:04:39,440
اگر اتفاقی بیفتد با همان لایک کنیم. کاربر
116
00:04:39,440 –> 00:04:41,120
خطایی
117
00:04:41,120 –> 00:04:44,240
ایجاد می کند، ما همچنین می توانیم یک محصول جدید ایجاد کنیم،
118
00:04:44,240 –> 00:04:47,680
بنابراین بیایید یک محصول ایجاد کنیم
119
00:04:48,000 –> 00:04:51,280
و من یک تصویر نمونه اضافه می کنم،
120
00:04:51,280 –> 00:04:52,639
خواهیم دید که
121
00:04:52,639 –> 00:04:55,280
rabbitmq یک رویداد دیگر را راه اندازی می کند، بنابراین
122
00:04:55,280 –> 00:04:58,160
این محصولی است که ما ایجاد کرده ایم
123
00:04:58,160 –> 00:05:01,840
یک رویداد head دیگر فعال شده است
124
00:05:01,840 –> 00:05:04,160
و زمانی که در اینجا مصرف می شود،
125
00:05:04,160 –> 00:05:08,080
ما محصول را در اینجا خواهیم دید،
126
00:05:08,800 –> 00:05:09,759
بنابراین
127
00:05:09,759 –> 00:05:13,520
به نظر می رسد که محصول
128
00:05:13,520 –> 00:05:16,720
در برنامه مدیریت برنامه اصلی است،
129
00:05:16,720 –> 00:05:17,520
بنابراین
130
00:05:17,520 –> 00:05:19,680
ما محصول
131
00:05:19,680 –> 00:05:23,039
را دریافت کردیم، بنابراین خواهیم دید که این برنامه با ساخت آنها چگونه کار می کند،
132
00:05:23,039 –> 00:05:25,840
بنابراین بیایید شروع به
133
00:05:25,840 –> 00:05:27,120
134
00:05:27,120 –> 00:05:29,600
ایجاد برنامه کنیم.
135
00:05:30,080 –> 00:05:32,479
پس بیایید
136
00:05:32,479 –> 00:05:35,039
با استفاده از django rest Framework ساختن پروژه را با استفاده از django rest
137
00:05:35,039 –> 00:05:37,600
138
00:05:37,600 –> 00:05:38,960
شروع کنیم به آموزش شروع سریع
139
00:05:38,960 –> 00:05:40,960
و اینها دستوراتی برای ایجاد یک
140
00:05:40,960 –> 00:05:41,919
141
00:05:41,919 –> 00:05:44,160
پروژه ساده جنگو هستند که باید
142
00:05:44,160 –> 00:05:47,280
django و jungle rest
143
00:05:47,280 –> 00:05:48,800
frame را از pip نصب کنید
144
00:05:48,800 –> 00:05:51,520
من قبلاً این کار را انجام دادم تا بتوانم مستقیماً
145
00:05:51,520 –> 00:05:54,479
به ترمینال بروید و django
146
00:05:54,479 –> 00:05:55,840
admin
147
00:05:55,840 –> 00:05:57,280
start
148
00:05:57,280 –> 00:05:59,759
project
149
00:05:59,919 –> 00:06:02,400
admin را بنویسید
150
00:06:02,479 –> 00:06:04,400
و پروژه ایجاد شد من می توانم
151
00:06:04,400 –> 00:06:08,080
اکنون به پوشه بروم و پایتون
152
00:06:08,080 –> 00:06:10,479
3 را
153
00:06:10,479 –> 00:06:13,600
اجرا کنم که سرور pi run را مدیریت کنم
154
00:06:14,000 –> 00:06:16,720
تا پروژه اکنون در حال اجرا باشد و من می توانم
155
00:06:16,720 –> 00:06:19,440
این آدرس اینترنتی را کپی کرده
156
00:06:19,440 –> 00:06:22,400
و در آن پیست کنم. مرورگر و می
157
00:06:22,400 –> 00:06:24,880
بینیم که پروژه جنگو را با موفقیت نصب کردیم
158
00:06:24,880 –> 00:06:26,639
159
00:06:26,639 –> 00:06:30,000
حالا بیایید پروژه را با
160
00:06:30,000 –> 00:06:31,840
ایده خود باز کنیم و این همان برنامه ای است که به تازگی
161
00:06:31,840 –> 00:06:32,960
تولید
162
00:06:32,960 –> 00:06:34,960
کردیم، اجازه دهید
163
00:06:34,960 –> 00:06:37,440
docker را اجرا کنیم، بنابراین بیایید دو فایل ایجاد کنیم که یکی
164
00:06:37,440 –> 00:06:40,080
فایل docker
165
00:06:40,240 –> 00:06:44,479
و دیگری docker compose
166
00:06:45,919 –> 00:06:49,840
dot است. فایل yaml
167
00:06:50,000 –> 00:06:50,960
پس
168
00:06:50,960 –> 00:06:53,280
بیایید ابتدا فایل docker را باز کنیم
169
00:06:53,280 –> 00:06:56,560
و آنچه در اینجا خواهیم نوشت ابتدا
170
00:06:56,560 –> 00:06:58,319
171
00:06:58,319 –> 00:07:00,880
از نوع پروژه ای است که
172
00:07:00,880 –> 00:07:04,880
می خواهیم آن را از پایتون دریافت
173
00:07:04,880 –> 00:07:06,880
کنیم و باید نسخه py را مشخص کنیم.
174
00:07:06,880 –> 00:07:09,199
thon من آخرین مورد را انتخاب می کنم
175
00:07:09,199 –> 00:07:12,160
که 3.9 است،
176
00:07:12,560 –> 00:07:14,960
سپس یک متغیر محیطی
177
00:07:14,960 –> 00:07:16,639
178
00:07:16,639 –> 00:07:20,000
پایتون و یک بافر اضافه می کنیم
179
00:07:20,000 –> 00:07:23,360
زیرا این برای دریافت گزارش مفید است تا
180
00:07:23,360 –> 00:07:26,400
بتوانیم هر اتفاقی را که در حال رخ دادن است را ببینیم
181
00:07:26,400 –> 00:07:28,720
و اکنون باید یک
182
00:07:28,720 –> 00:07:33,199
دایرکتوری کار مشخص کنیم و آن را فقط up صدا می زنم.
183
00:07:33,599 –> 00:07:35,919
بنابراین قبل از ادامه
184
00:07:35,919 –> 00:07:37,599
، یک فایل txt مورد نیاز ایجاد خواهم کرد
185
00:07:37,599 –> 00:07:40,800
،
186
00:07:42,639 –> 00:07:44,400
187
00:07:44,400 –> 00:07:46,479
بنابراین در این فایل میتوانیم تمام
188
00:07:46,479 –> 00:07:50,080
وابستگیهایی را که استفاده خواهیم کرد در برنامه خود قرار دهیم،
189
00:07:50,080 –> 00:07:52,319
بنابراین آنها را در
190
00:07:52,319 –> 00:07:54,800
اینجا قرار میدهم، از django django rest frame
191
00:07:54,800 –> 00:07:58,000
mysql client و java mysql استفاده میکنیم تا متصل شویم.
192
00:07:58,000 –> 00:08:00,240
با
193
00:08:00,240 –> 00:08:03,039
هدرهای دوره mysql جنگل، این
194
00:08:03,039 –> 00:08:04,319
برای دسترسی front end
195
00:08:04,319 –> 00:08:07,680
به باطن و pica ضروری است، این
196
00:08:07,680 –> 00:08:08,800
197
00:08:08,800 –> 00:08:12,319
زمانی مفید است که ما با یک rabbitmq وصل
198
00:08:12,319 –> 00:08:14,479
میشویم حالا که نیازمندیهایمان را اضافه کردهایم، اجازه
199
00:08:14,479 –> 00:08:18,479
دهید به فایل docker برویم و requires.txt را
200
00:08:18,479 –> 00:08:20,240
201
00:08:20,240 –> 00:08:21,520
به
202
00:08:21,520 –> 00:08:22,800
بالا کپی
203
00:08:22,800 –> 00:08:25,720
کنیم. نام را در اینجا require.txt کپی کنید،
204
00:08:25,720 –> 00:08:28,319
بنابراین ما در حال کپی کردن این
205
00:08:28,319 –> 00:08:29,360
فایل
206
00:08:29,360 –> 00:08:32,000
در کار در مورد نیاز دایرکتوری کاری
207
00:08:32,000 –> 00:08:34,159
هستیم، بنابراین در داخل ظرف docker کپی می کنیم
208
00:08:34,159 –> 00:08:36,000
209
00:08:36,000 –> 00:08:37,919
و اکنون باید آن را نصب کنیم، بنابراین
210
00:08:37,919 –> 00:08:39,839
باید یک دستور
211
00:08:39,839 –> 00:08:41,200
pip
212
00:08:41,200 –> 00:08:42,320
install
213
00:08:42,320 –> 00:08:43,599
منهای r
214
00:08:43,599 –> 00:08:45,760
مورد نیاز را اجرا کنید، بنابراین
215
00:08:45,760 –> 00:08:47,120
آن را پیست کنید
216
00:08:47,120 –> 00:08:49,519
تا همه این موارد مورد نیاز نصب شوند
217
00:08:49,519 –> 00:08:51,440
218
00:08:51,440 –> 00:08:52,399
و
219
00:08:52,399 –> 00:08:55,120
در پایان ما همه فایل ها را کپی می کنیم، بنابراین
220
00:08:55,120 –> 00:08:56,640
نقطه
221
00:08:56,640 –> 00:08:58,480
بریده بریده به بالا
222
00:08:58,480 –> 00:09:00,480
نقطه در این مورد به معنای
223
00:09:00,480 –> 00:09:02,640
همه فایل های اینجاست، بنابراین ما همه فایل ها را در اینجا کپی
224
00:09:02,640 –> 00:09:05,920
می کنیم. دایرکتوری app
225
00:09:05,920 –> 00:09:08,480
آخرین دستور
226
00:09:08,480 –> 00:09:11,440
پروژه را اجرا می کند، بنابراین باید اینجا پایتون را اضافه کنیم
227
00:09:11,440 –> 00:09:12,640
228
00:09:12,640 –> 00:09:14,880
که
229
00:09:14,880 –> 00:09:16,880
سرور pi run را مدیریت کند
230
00:09:16,880 –> 00:09:19,279
و همچنین باید هاست را مشخص کنیم
231
00:09:19,279 –> 00:09:20,680
تا هاست با پورت 8000
232
00:09:20,680 –> 00:09:22,959
0.0.0 0.0.0.0 باشد،
233
00:09:22,959 –> 00:09:25,200
234
00:09:25,200 –> 00:09:27,360
بنابراین باید از آن استفاده کنیم. در غیر این صورت
235
00:09:27,360 –> 00:09:30,560
ما نمی توانیم پورت را به لوکال هاست خود وصل کنیم،
236
00:09:30,560 –> 00:09:32,399
237
00:09:32,399 –> 00:09:36,000
حالا بیایید به فایل کامپوزی docker خود
238
00:09:36,000 –> 00:09:38,240
برویم، در اینجا باید با اضافه کردن
239
00:09:38,240 –> 00:09:39,600
240
00:09:39,600 –> 00:09:41,680
نسخه جدیدترین نسخه docker compose
241
00:09:41,680 –> 00:09:44,000
3.8
242
00:09:44,000 –> 00:09:46,959
شروع کنیم و سپس باید خدمات را مشخص کنیم،
243
00:09:46,959 –> 00:09:49,200
بنابراین فعلاً فقط
244
00:09:49,200 –> 00:09:51,920
سرویس Backend را
245
00:09:51,920 –> 00:09:54,399
که برنامه ما است در اینجا اضافه کنید،
246
00:09:54,399 –> 00:09:56,880
ابتدا باید فایل docker را مشخص کنیم،
247
00:09:56,880 –> 00:09:58,080
بنابراین
248
00:09:58,080 –> 00:09:59,360
249
00:09:59,360 –> 00:10:02,399
باید زمینه را در اینجا قرار دهیم
250
00:10:02,399 –> 00:10:04,480
که این پوشه است
251
00:10:04,480 –> 00:10:07,200
و فایل docker که
252
00:10:07,200 –> 00:10:08,640
فایل docker است،
253
00:10:08,640 –> 00:10:11,040
بنابراین اساساً به این معنی است
254
00:10:11,040 –> 00:10:13,360
که این داکر فایل compose باید از
255
00:10:13,360 –> 00:10:15,279
این فایل
256
00:10:15,279 –> 00:10:17,760
docker استفاده کند، در
257
00:10:17,760 –> 00:10:22,240
مرحله بعد باید یک پورت را در اینجا مشخص کنیم
258
00:10:22,240 –> 00:10:24,640
تا این پورتی
259
00:10:24,640 –> 00:10:26,640
که در اینجا در حال اجرا است در داخل
260
00:10:26,640 –> 00:10:29,040
کانتینر docker باشد، میزبان محلی ما نباشد،
261
00:10:29,040 –> 00:10:30,839
بنابراین باید به
262
00:10:30,839 –> 00:10:32,399
263
00:10:32,399 –> 00:10:33,839
لوکال هاست خود بگوییم که
264
00:10:33,839 –> 00:10:36,720
به یک پورت خاص گوش
265
00:10:36,720 –> 00:10:39,440
دهد. مورد من این
266
00:10:39,440 –> 00:10:41,360
پورت dockerfile است
267
00:10:41,360 –> 00:10:44,240
و این پورت لوکال هاست ما است، بنابراین
268
00:10:44,240 –> 00:10:46,959
اگر از این پورت استفاده نکنیم نمی توانیم به
269
00:10:46,959 –> 00:10:48,720
270
00:10:48,720 –> 00:10:50,640
سرور دسترسی داشته باشیم
271
00:10:50,640 –> 00:10:53,839
و آخرین تغییر حجم ها است،
272
00:10:53,839 –> 00:10:56,800
بنابراین حجم ها را در اینجا اضافه کنید
273
00:10:56,800 –> 00:11:00,720
و در داخل آن ستون را به بالا مشخص می کنیم
274
00:11:00,720 –> 00:11:02,000
275
00:11:02,000 –> 00:11:04,160
.
276
00:11:04,399 –> 00:11:05,990
این به این معنی است که نقطه [Music] به این معنی است که
277
00:11:05,990 –> 00:11:07,279
278
00:11:07,279 –> 00:11:09,839
همه فایلهای اینجا
279
00:11:09,839 –> 00:11:11,839
به محفظه docker متصل میشوند
280
00:11:11,839 –> 00:11:15,440
هر بار که ما تغییری در برنامه ایجاد میکنیم،
281
00:11:15,440 –> 00:11:16,560
282
00:11:16,560 –> 00:11:18,560
آن را به اسلش
283
00:11:18,560 –> 00:11:20,399
به فایل docker به بالا منتقل میکند
284
00:11:20,399 –> 00:11:22,959
و اگر تغییری در فایل docker اتفاق بیفتد، برعکس
285
00:11:22,959 –> 00:11:26,399
آن را ارسال میکند. آن را در اینجا منعکس می کند،
286
00:11:26,399 –> 00:11:29,440
بنابراین این برنامه ما است،
287
00:11:29,440 –> 00:11:31,200
اکنون باید ابتدا آن را راه اندازی کنیم،
288
00:11:31,200 –> 00:11:32,160
ابتدا
289
00:11:32,160 –> 00:11:36,000
باید سرور را در اینجا متوقف کنیم
290
00:11:36,000 –> 00:11:36,800
و
291
00:11:36,800 –> 00:11:39,040
ترمینال را باز کنیم و docker
292
00:11:39,040 –> 00:11:40,480
compose
293
00:11:40,480 –> 00:11:42,320
را بنویسیم
294
00:11:42,320 –> 00:11:44,000
اکنون او در حال ساخت backend است و در حال
295
00:11:44,000 –> 00:11:46,399
دانلود همه کتابخانه های مورد نیاز
296
00:11:46,399 –> 00:11:49,279
برای پایتون و d همچنین تمام
297
00:11:49,279 –> 00:11:51,920
موارد مورد نیاز را در اینجا نصب می
298
00:11:51,920 –> 00:11:54,720
کند، صبر کنیم تا تکمیل شود،
299
00:11:54,720 –> 00:11:57,200
بنابراین اکنون همه چیز به درستی اجرا می شود،
300
00:11:57,200 –> 00:12:00,000
می توانیم ببینیم که سرور توسعه
301
00:12:00,000 –> 00:12:01,680
در حال اجرا است
302
00:12:01,680 –> 00:12:04,959
و همچنین سرور را از این ترمینال uh متوقف کردیم
303
00:12:04,959 –> 00:12:06,800
304
00:12:06,800 –> 00:12:09,120
و اگر اکنون رفرش
305
00:12:09,120 –> 00:12:11,920
کنیم، خواهیم دید. اکنون همان صفحه را دریافت میکند، اگر متوقف شویم
306
00:12:11,920 –> 00:12:13,600
، این صفحه از کانتینر docker اجرا میشود،
307
00:12:13,600 –> 00:12:14,800
308
00:12:14,800 –> 00:12:17,279
برای مثال نمیتوانیم آن
309
00:12:17,279 –> 00:12:19,279
را ببینیم، بنابراین
310
00:12:19,279 –> 00:12:22,880
اکنون آن را نمیبینیم اگر اکنون دوباره شروع
311
00:12:22,880 –> 00:12:26,240
کنم، سریعتر خواهد بود،
312
00:12:26,240 –> 00:12:28,320
بنابراین میتوانیم ببینیم
313
00:12:28,320 –> 00:12:30,399
پس به این صورت است که شما جنگو را با docker وصل می کنید،
314
00:12:30,399 –> 00:12:32,959
315
00:12:32,959 –> 00:12:35,120
اکنون باید با پایگاه داده وصل
316
00:12:35,120 –> 00:12:37,760
شویم، ما قبلاً یک پایگاه داده sqlite در اینجا
317
00:12:37,760 –> 00:12:40,000
داریم، اما آن را حذف می کنیم
318
00:12:40,000 –> 00:12:41,440
زیرا
319
00:12:41,440 –> 00:12:44,000
از mysql استفاده خواهیم کرد،
320
00:12:44,000 –> 00:12:46,399
بنابراین اولین چیزی که باید سرویس mysql را اضافه کنیم، آن را صدا می
321
00:12:46,399 –> 00:12:49,519
زنم. آن را db
322
00:12:49,519 –> 00:12:51,680
می کنم و در اینجا من یک تصویر اضافه می کنم که
323
00:12:51,680 –> 00:12:53,200
mysql
324
00:12:53,200 –> 00:12:57,000
نسخه 5.7.22 است،
325
00:13:01,120 –> 00:13:05,279
بنابراین ما mysql را اضافه کردیم، باید همیشه
326
00:13:05,279 –> 00:13:06,480
راه اندازی مجدد را اضافه
327
00:13:06,480 –> 00:13:08,399
328
00:13:08,399 –> 00:13:10,480
کنیم، بنابراین باید این دستور را اضافه کنیم زیرا
329
00:13:10,480 –> 00:13:13,920
اوه گاهی اوقات mysql متوقف می شود و این
330
00:13:13,920 –> 00:13:16,320
همچنین کانتینر docker ما و برنامه ما را متوقف می کند.
331
00:13:16,320 –> 00:13:18,880
نه اجرا نمی شود
332
00:13:18,880 –> 00:13:22,639
پس این دوباره آن را مجدداً راه اندازی می کند و
333
00:13:22,720 –> 00:13:24,959
سپس باید چند متغیر محیطی اضافه
334
00:13:24,959 –> 00:13:27,440
کنیم، بنابراین اینها چند
335
00:13:27,440 –> 00:13:29,680
متغیر محیطی هستند که با باطن خود وصل می شویم،
336
00:13:29,680 –> 00:13:30,639
337
00:13:30,639 –> 00:13:32,839
بنابراین باید پایگاه داده mysql را اضافه کنیم
338
00:13:32,839 –> 00:13:36,480
339
00:13:36,480 –> 00:13:39,199
که admin
340
00:13:39,199 –> 00:13:40,639
mysql
341
00:13:40,639 –> 00:13:43,120
user
342
00:13:43,279 –> 00:13:44,720
root root
343
00:13:44,720 –> 00:13:46,880
mysql پسورد mysql است،
344
00:13:46,880 –> 00:13:49,040
345
00:13:49,040 –> 00:13:51,519
من همچنین root را در اینجا قرار می
346
00:13:51,519 –> 00:13:53,519
دهم و mysql را
347
00:13:53,519 –> 00:13:56,480
پسورد
348
00:13:56,480 –> 00:13:59,279
root root بنابراین این مقادیر را می توانید
349
00:13:59,279 –> 00:14:01,360
هر مقداری را که می خواهید انتخاب کنید تا
350
00:14:01,360 –> 00:14:04,240
بتوانید آنها را در اینجا مشخص کنید
351
00:14:04,240 –> 00:14:07,040
بعد باید حجم ها را اضافه کنیم
352
00:14:07,040 –> 00:14:09,600
بنابراین این واقعاً مهم است
353
00:14:09,600 –> 00:14:12,320
بنابراین وقتی mysql شروع به ذخیره
354
00:14:12,320 –> 00:14:15,440
داده ها می کند باید آنها را به یک پوشه نگاشت
355
00:14:15,440 –> 00:14:18,639
. یک پوشه در اینجا db data ایجاد کنید
356
00:14:18,639 –> 00:14:22,399
که var lib mysql را نگاشت میکند،
357
00:14:23,279 –> 00:14:24,240
358
00:14:24,240 –> 00:14:26,959
359
00:14:27,600 –> 00:14:29,440
بنابراین همه فایلهای
360
00:14:29,440 –> 00:14:31,680
اینجا به پوشهای
361
00:14:31,680 –> 00:14:32,560
به نام
362
00:14:32,560 –> 00:14:35,440
db data منعکس میشوند، بنابراین خواهیم دید که وقتی
363
00:14:35,440 –> 00:14:38,160
این کانتینر را راهاندازی
364
00:14:38,160 –> 00:14:40,480
کردیم و کارمان تمام شد، حالا باید
365
00:14:40,480 –> 00:14:42,639
پورتهایی را در اینجا اضافه کنیم.
366
00:14:42,639 –> 00:14:44,959
367
00:14:44,959 –> 00:14:47,600
اصلاً لازم نیست، فقط آن را اضافه می کنم تا بتوانیم
368
00:14:47,600 –> 00:14:50,160
داده های داخل پایگاه داده را ببینیم،
369
00:14:50,160 –> 00:14:53,040
بنابراین پورت به عنوان
370
00:14:53,040 –> 00:14:56,720
پورت پیش فرض برای mysql 3306 است و
371
00:14:56,720 –> 00:14:59,440
این در داخل کانتینر docker
372
00:14:59,440 –> 00:15:03,440
در خارج است، ما از 33066 یا wh استفاده خواهیم کرد.
373
00:15:03,440 –> 00:15:06,079
هر پورتی که میخواهیم
374
00:15:06,079 –> 00:15:07,920
من همان پورت را قرار ندادم زیرا
375
00:15:07,920 –> 00:15:11,760
با نصب mysql من در تضاد است،
376
00:15:11,760 –> 00:15:12,959
377
00:15:12,959 –> 00:15:15,120
بنابراین آخرین تغییر
378
00:15:15,120 –> 00:15:18,959
این است که باید اینجا اضافه کنیم بستگی به db دارد،
379
00:15:18,959 –> 00:15:21,279
این بدان معنی است که
380
00:15:21,279 –> 00:15:23,440
این ظرف ابتدا باید اجرا شود و سپس
381
00:15:23,440 –> 00:15:26,320
این ظرف باید اجرا
382
00:15:26,320 –> 00:15:27,440
383
00:15:27,440 –> 00:15:29,759
شود.
384
00:15:29,759 –> 00:15:32,800
آن را ببندید و دوباره شروع کنید
385
00:15:32,800 –> 00:15:36,320
اکنون در حال کشیدن mysql است،
386
00:15:39,199 –> 00:15:41,519
بنابراین ما میتوانیم ببینیم که اکنون پایگاه داده در
387
00:15:41,519 –> 00:15:43,120
حال اجرا است، بنابراین
388
00:15:43,120 –> 00:15:46,160
ما میتوانیم یک پوشه داده db را در اینجا ببینیم، بنابراین
389
00:15:46,160 –> 00:15:46,880
این
390
00:15:46,880 –> 00:15:49,440
فایلها هستند که وقتی
391
00:15:49,440 –> 00:15:52,399
چیزی را ذخیره میکنیم، در اینجا منعکس میشود،
392
00:15:52,399 –> 00:15:55,040
لازم نیست این پوشه را لمس
393
00:15:55,040 –> 00:15:56,560
394
00:15:56,560 –> 00:15:58,000
کنید تا بمانید
395
00:15:58,000 –> 00:16:00,000
حالا بیایید
396
00:16:00,000 –> 00:16:01,680
با
397
00:16:01,680 –> 00:16:05,680
ایده خود ارتباط برقرار کنیم بنابراین به یک منبع داده جدید mysql نیاز داریم
398
00:16:05,680 –> 00:16:10,120
و پورت ما 33066
399
00:16:10,240 –> 00:16:12,800
روت برای ریشه کاربر برای رمز عبور
400
00:16:12,800 –> 00:16:16,320
و پایگاه داده مدیر بود.
401
00:16:16,320 –> 00:16:19,040
402
00:16:19,040 –> 00:16:20,880
با موفقیت
403
00:16:20,880 –> 00:16:23,120
اکنون ما فقط یک طرحواره بدون
404
00:16:23,120 –> 00:16:25,839
جدول داریم، بنابراین اکنون اجازه دهید ابتدا
405
00:16:25,839 –> 00:16:28,720
تعدادی جدول به پایگاه داده اضافه
406
00:16:28,720 –> 00:16:31,279
کنیم، ابتدا باید یک برنامه جدید ایجاد کنیم،
407
00:16:31,279 –> 00:16:32,880
بنابراین اکنون باید به داخل کانتینر docker
408
00:16:32,880 –> 00:16:34,639
409
00:16:34,639 –> 00:16:36,399
برویم، بنابراین برای رفتن به داخل کانتینر docker،
410
00:16:36,399 –> 00:16:38,560
یک te جدید باز کنید. rminal و نوشتن docker
411
00:16:38,560 –> 00:16:39,759
compose
412
00:16:39,759 –> 00:16:41,120
exec
413
00:16:41,120 –> 00:16:43,600
اکنون به نام سرویسی نیاز داریم
414
00:16:43,600 –> 00:16:46,079
که در مورد ما backend
415
00:16:46,079 –> 00:16:47,920
backend
416
00:16:47,920 –> 00:16:49,600
sh است و
417
00:16:49,600 –> 00:16:52,880
اکنون داخل آن هستیم و اکنون بیایید یک
418
00:16:52,880 –> 00:16:54,959
دستور juggle را برای ایجاد یک برنامه جدید اجرا کنیم تا
419
00:16:54,959 –> 00:16:56,480
پایتون
420
00:16:56,480 –> 00:16:58,959
آن محصولات راه اندازی pi را مدیریت کند
421
00:16:58,959 –> 00:17:01,519
422
00:17:02,079 –> 00:17:05,079
423
00:17:05,199 –> 00:17:07,599
تا برنامه را ایجاد کنیم.
424
00:17:07,599 –> 00:17:09,359
در اینجا میتوانیم ببینیم
425
00:17:09,359 –> 00:17:12,079
که محصولات ایجاد شدهاند و
426
00:17:12,079 –> 00:17:14,720
دستور را در داخل محفظه
427
00:17:14,720 –> 00:17:17,359
docker اجرا میکنیم، حالا بیایید به
428
00:17:17,359 –> 00:17:20,799
admin برویم و باید متصل
429
00:17:20,799 –> 00:17:22,799
شویم، ابتدا باید این محصولات را به
430
00:17:22,799 –> 00:17:24,160
برنامههای نصب شده
431
00:17:24,160 –> 00:17:26,319
اضافه
432
00:17:26,319 –> 00:17:27,199
433
00:17:27,199 –> 00:17:29,679
434
00:17:29,679 –> 00:17:33,280
کنیم. در اینجا سرصفحههای دوره را اضافه کنید
435
00:17:33,280 –> 00:17:35,120
436
00:17:35,120 –> 00:17:39,600
و محصولاتی که ما به تازگی ایجاد کردهایم،
437
00:17:39,600 –> 00:17:42,160
به یک میانافزار نیز نیاز دارند
438
00:17:42,160 –> 00:17:44,400
، بنابراین این میانافزاری است
439
00:17:44,400 –> 00:17:47,840
که باید اضافه کنیم
440
00:17:49,919 –> 00:17:52,799
و همچنین به یک ثابت جدید نیاز دارد،
441
00:17:52,799 –> 00:17:55,679
من آن را در
442
00:17:55,679 –> 00:17:58,480
443
00:17:58,480 –> 00:18:00,559
اینجا اضافه میکنم. همه چیزهایی که
444
00:18:00,559 –> 00:18:03,840
اکنون نیاز داریم برای اتصال با mysql
445
00:18:03,840 –> 00:18:06,240
در اینجا باید این sqlite را به
446
00:18:06,240 –> 00:18:08,799
mysql تغییر
447
00:18:08,799 –> 00:18:14,760
دهیم نام پایگاه داده admin خواهد بود در
448
00:18:19,520 –> 00:18:23,120
مرحله بعد باید کاربری را اضافه کنیم
449
00:18:23,360 –> 00:18:25,760
که root است
450
00:18:25,760 –> 00:18:28,919
رمز عبور
451
00:18:29,120 –> 00:18:31,039
که همچنین root
452
00:18:31,039 –> 00:18:33,600
t است. او میزبان
453
00:18:33,600 –> 00:18:36,640
کسانی است که هیچ در مورد ما این
454
00:18:36,640 –> 00:18:40,000
سرویس در اینجا خواهد بود، بنابراین فقط db
455
00:18:40,000 –> 00:18:41,679
db
456
00:18:41,679 –> 00:18:44,480
و پورت
457
00:18:44,640 –> 00:18:47,039
و در این مورد
458
00:18:47,039 –> 00:18:49,280
ما از این پورت استفاده نخواهیم کرد، اما
459
00:18:49,280 –> 00:18:51,919
از پورت داخل این سرویس استفاده خواهیم کرد، بنابراین
460
00:18:51,919 –> 00:18:54,919
3306 است
461
00:18:55,600 –> 00:18:59,480
پس من 3306
462
00:18:59,760 –> 00:19:03,039
پس این است ارتباط خود را با mysql
463
00:19:03,039 –> 00:19:06,320
میتوانیم دوباره این چراغ sql را در اینجا حذف کنیم
464
00:19:06,320 –> 00:19:07,840
و
465
00:19:07,840 –> 00:19:10,799
بیایید
466
00:19:10,799 –> 00:19:13,440
دوباره کانتینرهای docker را دوباره راهاندازی
467
00:19:13,440 –> 00:19:16,080
کنیم، اکنون باید مهاجرتها را برای ایجاد
468
00:19:16,080 –> 00:19:18,720
جداول در mysql اجرا کنیم، بنابراین بیایید به
469
00:19:18,720 –> 00:19:20,080
محصولات
470
00:19:20,080 –> 00:19:22,840
و مدلها برویم تا دو مدل
471
00:19:22,840 –> 00:19:25,840
در اینجا ایجاد کنیم.
472
00:19:25,840 –> 00:19:28,240
محصول
473
00:19:28,240 –> 00:19:30,400
این از مدل مدلها گسترش مییابد
474
00:19:30,400 –> 00:19:31,919
475
00:19:31,919 –> 00:19:33,679
و فیلدهایی را برای
476
00:19:33,679 –> 00:19:36,799
محصولی که به عنوان نیاز داریم اضافه میکنیم.
477
00:19:36,799 –> 00:19:41,200
478
00:19:41,200 –> 00:19:45,039
479
00:19:45,039 –> 00:19:48,559
480
00:19:50,160 –> 00:19:54,240
481
00:19:54,240 –> 00:19:58,080
یک مثبت در فیلد عدد صحیح
482
00:19:58,080 –> 00:19:59,200
483
00:19:59,200 –> 00:20:02,400
و مقدار پیش فرض صفر خواهد بود،
484
00:20:02,400 –> 00:20:04,880
بنابراین این محصول ما است
485
00:20:04,880 –> 00:20:07,440
و ما به جدول دیگری نیاز داریم که
486
00:20:07,440 –> 00:20:10,720
اکنون آن را
487
00:20:11,200 –> 00:20:14,000
مدل مدلهای کاربر مینامم
488
00:20:14,000 –> 00:20:16,720
تا واقعاً از جدول کاربر استفاده نکنیم و
489
00:20:16,720 –> 00:20:19,280
فقط از شناسه کاربر استفاده کنیم. بنابراین
490
00:20:19,280 –> 00:20:21,280
من فقط
491
00:20:21,280 –> 00:20:24,480
خیلی باهوش خواهم گذشت این جدول فقط
492
00:20:24,480 –> 00:20:26,320
فیلد id را خواهد داشت
493
00:20:26,320 –> 00:20:28,480
و محصول دارای شناسه و
494
00:20:28,480 –> 00:20:31,039
این سه فیلد دیگر است،
495
00:20:31,039 –> 00:20:33,919
بنابراین اکنون مدل هایی را داریم که برای
496
00:20:33,919 –> 00:20:36,480
ایجاد مهاجرت برای این مدل ها نیاز
497
00:20:36,480 –> 00:20:38,799
داریم و باید مهاجرت کنیم، بنابراین
498
00:20:38,799 –> 00:20:40,960
ترمینال را باز کنید، بیایید به داخل داکر برویم.
499
00:20:40,960 –> 00:20:43,679
دوباره کانتینر
500
00:20:43,679 –> 00:20:45,760
و اینجا
501
00:20:45,760 –> 00:20:47,360
باید بنویسیم
502
00:20:47,360 –> 00:20:48,400
python management
503
00:20:48,400 –> 00:20:50,559
that pi
504
00:20:50,559 –> 00:20:52,400
make
505
00:20:52,400 –> 00:20:55,200
migrations
506
00:20:55,280 –> 00:20:59,120
تا ببینیم migrations ایجاد کردیم
507
00:20:59,120 –> 00:21:01,280
اینها مهاجرت هایی است که ما ایجاد کردیم
508
00:21:01,280 –> 00:21:02,960
509
00:21:02,960 –> 00:21:05,120
و برای اجرای آنها python را اجرا
510
00:21:05,120 –> 00:21:07,039
511
00:21:07,039 –> 00:21:08,000
کنیم تا pi migrate را
512
00:21:08,000 –> 00:21:09,360
مدیریت
513
00:21:09,360 –> 00:21:10,799
کنیم
514
00:21:10,799 –> 00:21:13,360
515
00:21:14,000 –> 00:21:15,039
بنابراین
516
00:21:15,039 –> 00:21:17,600
اگر پایگاه داده را باز کنیم همه مهاجرت ها را اجرا می کنیم.
517
00:21:17,600 –> 00:21:20,080
حالا و تازه کردن،
518
00:21:20,080 –> 00:21:22,400
ما یک دسته جداول
519
00:21:22,400 –> 00:21:24,720
را می بینیم که از همه این جداول استفاده نخواهیم کرد
520
00:21:24,720 –> 00:21:26,400
، تنها دو جدول
521
00:21:26,400 –> 00:21:28,960
مورد علاقه ما محصولاتی است
522
00:21:28,960 –> 00:21:31,760
که تصویر عنوان و لایک داریم
523
00:21:31,760 –> 00:21:33,360
و کاربری
524
00:21:33,360 –> 00:21:35,760
که فقط فیلد id را دارد،
525
00:21:35,760 –> 00:21:38,159
بنابراین این چگونه جنگو را با
526
00:21:38,159 –> 00:21:41,600
mysql وصل می کنیم و مهاجرت ها را اجرا می
527
00:21:41,600 –> 00:21:44,240
کنیم بنابراین مدل های خود را ایجاد کردیم و اکنون جنگو
528
00:21:44,240 –> 00:21:47,600
هنگامی که اشیاء را در api برمی گردانیم
529
00:21:47,600 –> 00:21:50,559
باید از سریال سازها استفاده کنیم، بنابراین
530
00:21:50,559 –> 00:21:53,520
اکنون یک پوشه یک فایل در اینجا ایجاد می کنم متاسفم
531
00:21:53,520 –> 00:21:56,520
seriali zers
532
00:21:58,080 –> 00:22:00,320
و داخل من
533
00:22:00,320 –> 00:22:05,039
یک سریالساز محصول کلاس ایجاد میکنیم که
534
00:22:05,760 –> 00:22:09,919
از سریالسازها گسترش مییابد،
535
00:22:09,919 –> 00:22:12,640
بنابراین بیایید ابتدا آن را
536
00:22:12,640 –> 00:22:13,520
از سریالسازهای
537
00:22:13,520 –> 00:22:14,640
538
00:22:14,640 –> 00:22:16,880
وارداتی rest Framework وارد کنیم
539
00:22:16,880 –> 00:22:18,960
540
00:22:18,960 –> 00:22:21,120
و این از سریالساز مدل نقطهای سریالسازها گسترش مییابد،
541
00:22:21,120 –> 00:22:22,320
542
00:22:22,320 –> 00:22:25,960
543
00:22:26,240 –> 00:22:29,440
بنابراین در داخل کلاس دیگری اضافه میکنیم
544
00:22:29,440 –> 00:22:31,600
که متا است
545
00:22:31,600 –> 00:22:33,520
و باید بگوییم.
546
00:22:33,520 –> 00:22:36,480
که مدل
547
00:22:37,200 –> 00:22:41,080
در مورد ما یک محصول است
548
00:22:41,840 –> 00:22:44,559
بیایید محصول را اینجا وارد کنیم پس من
549
00:22:44,559 –> 00:22:47,200
این را حذف می کنم
550
00:22:48,400 –> 00:22:49,600
بنابراین
551
00:22:49,600 –> 00:22:51,280
گفتیم که
552
00:22:51,280 –> 00:22:53,520
محصول یک مدل است و اکنون باید فیلدها را مشخص کنیم
553
00:22:53,520 –> 00:22:56,000
554
00:22:56,000 –> 00:23:00,240
و من از همه آنها استفاده خواهم کرد
555
00:23:00,240 –> 00:23:03,200
بنابراین این سریال ساز ما
556
00:23:03,200 –> 00:23:05,520
است خیلی ساده
557
00:23:05,520 –> 00:23:07,600
ما از سریالساز برای
558
00:23:07,600 –> 00:23:10,559
کاربر استفاده نخواهیم کرد زیرا یک شناسه تصادفی را به آنجا برمی گردانیم
559
00:23:10,559 –> 00:23:11,600
560
00:23:11,600 –> 00:23:13,520
حالا به view ها می رویم و اکنون
561
00:23:13,520 –> 00:23:15,679
از سریال سازها استفاده می کنیم بنابراین
562
00:23:15,679 –> 00:23:17,919
در اینجا ما تمام پنج روش را
563
00:23:17,919 –> 00:23:20,159
برای استراحت api crowd ایجاد
564
00:23:20,159 –> 00:23:23,600
می کنیم. چندین روش برای انجام این کار
565
00:23:23,600 –> 00:23:28,080
در مورد من، من از مجموعه view استفاده می کنم، بنابراین
566
00:23:28,080 –> 00:23:29,760
از
567
00:23:29,760 –> 00:23:31,440
568
00:23:31,440 –> 00:23:33,280
رندر از جنگو حذف می کنم،
569
00:23:33,280 –> 00:23:34,799
570
00:23:34,799 –> 00:23:37,120
بنابراین، چارچوب را استراحت می کنم، متأسفانه،
571
00:23:37,120 –> 00:23:38,559
572
00:23:38,559 –> 00:23:41,200
مجموعه view import
573
00:23:41,279 –> 00:23:44,159
را انجام می دهیم و کاری که ما با این مجموعه نمایش انجام خواهیم داد این است
574
00:23:44,159 –> 00:23:46,880
که یک کلاس prod ایجاد می کنیم. uct
575
00:23:46,880 –> 00:23:47,679
view
576
00:23:47,679 –> 00:23:49,279
set
577
00:23:49,279 –> 00:23:53,360
این از view sets امتداد پیدا میکند
578
00:23:53,440 –> 00:23:55,919
،
579
00:23:55,919 –> 00:23:58,480
بنابراین این پنج روش خواهد داشت که ما
580
00:23:58,480 –> 00:23:59,440
میخواهیم،
581
00:23:59,440 –> 00:24:02,400
براین من لیست را اینجا اضافه میکنم، ای
582
00:24:02,400 –> 00:24:03,440
583
00:24:03,440 –> 00:24:06,559
لیستی از مح
584
00:24:06,559 –> 00:24:08,159
ولات خو
585
00:24:08,159 –> 00:24:11,120
هد بود، بنابراین آنها را یک به یک لیست میکنم، بنابراین نی
586
00:24:11,120 –> 00:24:14,000
ز به درخواست دا
587
00:24:15,039 –> 00:24:15,919
588
00:24:15,919 –> 00:24:18,080
د. من اینجا اضافه خواهم کرد
589
00:24:18,080 –> 00:24:20,000
590
00:24:20,000 –> 00:24:21,120
591
00:24:21,120 –> 00:24:23,520
درخواست خود را ایجاد کنید،
592
00:24:23,520 –> 00:24:25,279
بنابراین اینها برای
593
00:24:25,279 –> 00:24:27,440
مسیر محصولات اسلش
594
00:24:27,440 –> 00:24:29,520
برای اسلش محصول اسلش هستند،
595
00:24:29,520 –> 00:24:33,279
بنابراین من آن را اینجا می نویسم این r4 است،
596
00:24:33,279 –> 00:24:35,120
من یک نظر اضافه می کنم
597
00:24:35,120 –> 00:24:38,720
اسلش api اسلش
598
00:24:38,720 –> 00:24:40,480
599
00:24:40,480 –> 00:24:42,880
مسیر محصولات را به اینجا می گذارم تا پرتاب نشود یک
600
00:24:42,880 –> 00:24:45,880
خطا،
601
00:24:46,960 –> 00:24:49,200
بنابراین این یک درخواست دریافت
602
00:24:49,200 –> 00:24:51,279
خواهد داشت، این یک درخواست ارسال
603
00:24:51,279 –> 00:24:52,159
604
00:24:52,159 –> 00:24:54,240
دارد، اکنون نقاط پایانی دیگری وجود دارد
605
00:24:54,240 –> 00:24:57,760
که ما از آنها استفاده خواهیم کرد که عبارت است از def
606
00:24:57,760 –> 00:25:00,760
retrieve
607
00:25:00,880 –> 00:25:02,480
in xwe
608
00:25:02,480 –> 00:25:03,840
درخواست
609
00:25:03,840 –> 00:25:07,039
و کلید اصلی که به طور پیش فرض شناخته شده است
610
00:25:07,039 –> 00:25:08,320
611
00:25:08,320 –> 00:25:10,640
و این به این صورت خواهد بود،
612
00:25:10,640 –> 00:25:11,440
613
00:25:11,440 –> 00:25:13,679
614
00:25:13,760 –> 00:25:16,320
بنابراین من اضافه خواهم کرد.
615
00:25:16,320 –> 00:25:17,360
616
00:25:17,360 –> 00:25:19,600
شناسه رشته
617
00:25:21,120 –> 00:25:23,200
و من آن را در اینجا ارسال می کنم،
618
00:25:23,200 –> 00:25:24,720
بنابراین سه
619
00:25:24,720 –> 00:25:26,880
روش برای
620
00:25:26,880 –> 00:25:29,200
یک محصول وجود دارد،
621
00:25:29,200 –> 00:25:33,120
یکی بازیابی، دیگری به روز رسانی
622
00:25:33,120 –> 00:25:37,520
و آخرین مورد حذف است،
623
00:25:40,840 –> 00:25:42,400
بنابراین
624
00:25:42,400 –> 00:25:44,640
این همه پنج روش هستند،
625
00:25:44,640 –> 00:25:48,000
اکنون این قسمت را حذف می
626
00:25:48,000 –> 00:25:50,000
کنم تا از
627
00:25:50,000 –> 00:25:50,880
این استفاده کنم.
628
00:25:50,880 –> 00:25:54,080
روش هایی که باید برای
629
00:25:54,080 –> 00:25:57,600
الف dd اینجا
630
00:25:57,600 –> 00:25:59,760
631
00:25:59,760 –> 00:26:02,159
urls فایل جدید من همان
632
00:26:02,159 –> 00:26:03,760
کد را از این
633
00:26:03,760 –> 00:26:05,679
آدرس های مدیریت
634
00:26:05,679 –> 00:26:07,600
اینجا کپی می کنم، آن را اینجا می چسبانم
635
00:26:07,600 –> 00:26:10,400
و در اینجا از محصولات استفاده می
636
00:26:10,400 –> 00:26:12,720
637
00:26:12,720 –> 00:26:14,720
کنیم، اسلش را حذف می
638
00:26:14,720 –> 00:26:16,720
کنیم و
639
00:26:16,720 –> 00:26:18,559
این پارامتر بعدی
640
00:26:18,559 –> 00:26:20,640
641
00:26:20,640 –> 00:26:22,240
642
00:26:22,240 –> 00:26:24,559
643
00:26:24,559 –> 00:26:28,640
چیست. آن را از نماها
644
00:26:28,640 –> 00:26:31,919
باید اینجا به عنوان view ویرایش
645
00:26:31,919 –> 00:26:34,960
کنیم اما هنوز به پارامترهای اضافی نیاز
646
00:26:34,960 –> 00:26:37,679
داریم باید بگوییم که متد get
647
00:26:37,679 –> 00:26:39,200
648
00:26:39,200 –> 00:26:41,679
به تابع لیست اشاره می کند
649
00:26:41,679 –> 00:26:44,720
بنابراین همانطور که می بینیم در اینجا یک لیست داریم
650
00:26:44,720 –> 00:26:46,000
و
651
00:26:46,000 –> 00:26:49,279
متد get به این لیست اشاره می کند.
652
00:26:49,279 –> 00:26:52,640
تابع متد post به
653
00:26:52,640 –> 00:26:55,120
تابع create اشاره می کند
654
00:26:55,120 –> 00:26:57,840
و ما باید روتر دیگری را
655
00:26:57,840 –> 00:27:01,919
در حال حاضر برای اسلش محصول اضافه
656
00:27:01,919 –> 00:27:02,880
657
00:27:02,880 –> 00:27:06,720
کنیم. به یک رشته نیاز دارد که کلید اصلی است
658
00:27:06,720 –> 00:27:09,840
و این متد دریافت اکنون تابع
659
00:27:09,840 –> 00:27:12,320
بازیابی
660
00:27:12,320 –> 00:27:14,000
661
00:27:14,000 –> 00:27:18,320
را که پست نداریم فراخوانی می کنیم. ما در اینجا قرار داده ایم که نشان
662
00:27:18,320 –> 00:27:21,520
می دهد به روز رسانی
663
00:27:21,520 –> 00:27:24,159
و حذف نشان
664
00:27:26,159 –> 00:27:28,799
می دهد برای نابود کردن،
665
00:27:28,799 –> 00:27:30,799
بنابراین من اشتباه کردم
666
00:27:30,799 –> 00:27:34,279
این نابودگر است،
667
00:27:36,799 –> 00:27:39,520
بنابراین اکنون همه روش ها اینجا هستند،
668
00:27:39,520 –> 00:27:42,320
اجازه دهید ابتدا از آنها استفاده کنیم،
669
00:27:42,320 –> 00:27:43,200
اجازه دهید
670
00:27:43,200 –> 00:27:45,440
لیست محصولات را اضافه کنیم، بنابراین ابتدا
671
00:27:45,440 –> 00:27:46,840
بیایید محصولات را دریافت
672
00:27:46,840 –> 00:27:52,000
کنیم باید محصول را دریافت کنند در اینجا
673
00:27:52,080 –> 00:27:53,360
674
00:27:53,360 –> 00:27:55,279
همه اشیاء
675
00:27:55,279 –> 00:27:58,080
بیایید این محصول را
676
00:27:58,080 –> 00:28:00,480
از مدلها وارد
677
00:28:00,480 –> 00:28:02,799
کنیم، بنابراین همه محصولات را دریافت
678
00:28:02,799 –> 00:28:04,720
کردیم اکنون باید از سریالسازی که ایجاد کردیم استفاده کنیم
679
00:28:04,720 –> 00:28:08,240
، بنابراین
680
00:28:08,240 –> 00:28:10,000
سریالساز برابر با سریالساز محصول است،
681
00:28:10,000 –> 00:28:12,880
682
00:28:13,679 –> 00:28:16,399
اجازه دهید آن را نیز وارد کنیم،
683
00:28:16,399 –> 00:28:19,120
بنابراین سریالساز محصول وارداتی در
684
00:28:19,120 –> 00:28:22,159
اینجا اولین پارامتر محصولات است.
685
00:28:22,159 –> 00:28:24,399
و ما در اینجا به پارامتر دیگری نیاز داریم،
686
00:28:24,399 –> 00:28:28,000
باید بگوییم که تعداد زیادی برابر با true است،
687
00:28:28,000 –> 00:28:30,000
بنابراین ما داریم این لیستی از
688
00:28:30,000 –> 00:28:31,200
محصولات است
689
00:28:31,200 –> 00:28:35,039
و باید یک آرایه را برگرداند،
690
00:28:35,039 –> 00:28:38,080
اکنون که سریالساز را دریافت کردیم، باید
691
00:28:38,080 –> 00:28:41,200
پاسخی را
692
00:28:41,200 –> 00:28:44,799
با سریالساز برگردانیم که دادهها را وارد کنیم.
693
00:28:44,799 –> 00:28:47,600
همچنین پاسخ در اینجا از
694
00:28:47,600 –> 00:28:49,760
پاسخ فریمورک استراحت است،
695
00:28:49,760 –> 00:28:52,799
بنابراین این واردات است،
696
00:28:52,799 –> 00:28:55,440
بنابراین این تابع لیست ما است،
697
00:28:55,440 –> 00:28:58,240
بیایید ببینیم چگونه به نظر می رسد، بنابراین من
698
00:28:58,240 –> 00:29:00,080
پستچی را در اینجا باز می کنم، شما باید آن را نصب کنید
699
00:29:00,080 –> 00:29:01,200
700
00:29:01,200 –> 00:29:02,559
تا apis را
701
00:29:02,559 –> 00:29:06,159
در اینجا آزمایش کنید، من از http
702
00:29:06,159 –> 00:29:08,640
localhost
703
00:29:08,640 –> 00:29:10,840
پورت 8000
704
00:29:10,840 –> 00:29:15,120
اسلش استفاده خواهم کرد. همچنین یک چیز دیگر،
705
00:29:15,120 –> 00:29:18,399
بنابراین ما مسیرها را در اینجا اضافه کردیم،
706
00:29:18,399 –> 00:29:20,559
همچنین باید
707
00:29:20,559 –> 00:29:22,960
آنها را اینجا اضافه کنم،
708
00:29:22,960 –> 00:29:24,880
ابتدا
709
00:29:24,880 –> 00:29:30,000
از django url 0 وارد می کنیم، وارد می کنیم
710
00:29:30,000 –> 00:29:30,720
و
711
00:29:30,720 –> 00:29:33,760
اجازه دهید مسیر جدیدی را اضافه کنیم
712
00:29:34,000 –> 00:29:37,919
که شروع می شود. با api
713
00:29:38,080 –> 00:29:40,799
ما اینجا یک اسلش اضافه می
714
00:29:40,799 –> 00:29:43,200
کنیم و پروژه خود را که محصولات است را در اینجا اضافه می کنیم،
715
00:29:43,200 –> 00:29:44,240
716
00:29:44,240 –> 00:29:46,159
بنابراین
717
00:29:46,159 –> 00:29:46,960
718
00:29:46,960 –> 00:29:50,159
آدرس های آدرس نقطه پروژه که این فایل است
719
00:29:50,159 –> 00:29:51,760
که اکنون در آن قرار داده ایم،
720
00:29:51,760 –> 00:29:55,039
می توانیم از آن در اینجا استفاده کنیم، محصولات api slash
721
00:29:55,039 –> 00:29:57,039
است
722
00:29:57,039 –> 00:29:59,279
و معمولاً هیچ نداریم.
723
00:29:59,279 –> 00:30:02,559
محصول پس یک آرایه خالی برمی گرداند
724
00:30:02,559 –> 00:30:04,880
حالا بیایید تابع بعدی را اضافه
725
00:30:04,880 –> 00:30:08,000
کنیم که در اینجا ایجاد
726
00:30:08,000 –> 00:30:09,279
727
00:30:09,279 –> 00:30:12,960
می شود، سریال ساز را دریافت می کنیم
728
00:30:13,760 –> 00:30:16,399
که برابر با سریال کننده محصول است
729
00:30:16,399 –> 00:30:18,399
و باید داده ها را از
730
00:30:18,399 –> 00:30:19,679
درخواست ارسال کنیم
731
00:30:19,679 –> 00:30:25,039
تا داده ها برابر با درخواست داده
732
00:30:25,039 –> 00:30:27,600
ها باشد. از آن دادهها استفاده خواهد کرد و
733
00:30:27,600 –> 00:30:30,880
باید ابتدا
734
00:30:32,399 –> 00:30:33,360
735
00:30:33,360 –> 00:30:35,600
تماس معتبر است، بنابراین اگر
736
00:30:35,600 –> 00:30:39,440
دادههای معتبری را به این سریالساز
737
00:30:39,440 –> 00:30:43,279
ارسال کنیم، اگر نه، یک استثنا را پاک میکنیم
738
00:30:43,760 –> 00:30:46,080
و اگر معتبر باشد به این معنی است که به این خط میرویم، به
739
00:30:46,080 –> 00:30:47,200
740
00:30:47,200 –> 00:30:50,960
این معنی است که پس از ذخیره آن را
741
00:30:50,960 –> 00:30:53,120
ذخیره میکنیم. ما پاسخ را برمی گردانیم،
742
00:30:53,120 –> 00:30:55,279
بنابراین
743
00:30:55,279 –> 00:30:57,760
answer serializer.data
744
00:30:57,760 –> 00:31:01,440
و باید یک وضعیت را در اینجا قرار
745
00:31:01,440 –> 00:31:05,320
دهیم، بنابراین از status،
746
00:31:05,519 –> 00:31:08,960
وضعیت let’s import را وارد می کنیم،
747
00:31:09,919 –> 00:31:12,080
بنابراین من واردات دقیق را در اینجا به خاطر نمی آورم،
748
00:31:12,080 –> 00:31:14,399
اما از status برابر با
749
00:31:14,399 –> 00:31:16,960
وضعیت
750
00:31:17,760 –> 00:31:18,640
نقطه
751
00:31:18,640 –> 00:31:21,360
http استفاده می کنیم.
752
00:31:21,799 –> 00:31:23,440
201
753
00:31:23,440 –> 00:31:26,000
ایجاد شد
754
00:31:26,480 –> 00:31:29,919
اجازه دهید این وضعیت را وارد کنیم
755
00:31:30,960 –> 00:31:33,600
بنابراین از فریم ورک rest است، ما
756
00:31:33,600 –> 00:31:36,159
وضعیت را در اینجا وارد می کنیم،
757
00:31:36,159 –> 00:31:37,600
حالا بیایید
758
00:31:37,600 –> 00:31:40,240
از آن استفاده کنیم، بنابراین این را از get
759
00:31:40,240 –> 00:31:41,840
به پست تغییر می
760
00:31:41,840 –> 00:31:45,279
دهیم و مقداری
761
00:31:45,760 –> 00:31:46,960
از
762
00:31:46,960 –> 00:31:48,960
json را در اینجا ارسال می کنیم، درخواستی را ارسال می
763
00:31:48,960 –> 00:31:50,640
764
00:31:50,640 –> 00:31:52,559
کنیم که به عنوان
765
00:31:52,559 –> 00:31:53,840
عنوان
766
00:31:53,840 –> 00:31:56,720
و یک تصویر نیاز داریم
767
00:31:57,200 –> 00:31:58,840
که
768
00:31:58,840 –> 00:32:02,000
تصویر است. درخواست را ارسال کنید
769
00:32:02,000 –> 00:32:04,080
و اعلان عنوان را برمی گردانیم
770
00:32:04,080 –> 00:32:05,919
که همچنین لایک های اینجا
771
00:32:05,919 –> 00:32:08,000
به طور پیش فرض صفر
772
00:32:08,000 –> 00:32:09,840
است، همچنین یک شناسه دریافت کردیم،
773
00:32:09,840 –> 00:32:12,880
بنابراین اگر به روش get برویم اولین محصول ما ایجاد می
774
00:32:12,880 –> 00:32:14,559
شود،
775
00:32:14,559 –> 00:32:15,760
اکنون
776
00:32:15,760 –> 00:32:19,919
یک آرایه با یک محصول یک می بینیم.
777
00:32:19,919 –> 00:32:23,120
این تابع ایجاد است
778
00:32:23,120 –> 00:32:25,360
که بازیابی بسیار ساده است
779
00:32:25,360 –> 00:32:28,320
ما باید محصولی
780
00:32:28,320 –> 00:32:30,399
781
00:32:30,399 –> 00:32:33,200
782
00:32:33,200 –> 00:32:37,200
را بدست آوریم که برابر
783
00:32:37,279 –> 00:32:39,120
784
00:32:39,120 –> 00:32:42,080
785
00:32:42,080 –> 00:32:44,399
786
00:32:44,399 –> 00:32:46,720
است.
787
00:32:46,720 –> 00:32:49,600
و باید در پاسخ serializer.data را برگردانیم،
788
00:32:49,600 –> 00:32:52,600
789
00:32:53,440 –> 00:32:55,200
اجازه دهید از آن استفاده کنیم، بنابراین
790
00:32:55,200 –> 00:32:57,279
این دارای id1 است، بنابراین
791
00:32:57,279 –> 00:33:00,159
اگر یک درخواست دریافت با id 1 قرار دهیم،
792
00:33:00,159 –> 00:33:01,840
یک
793
00:33:01,840 –> 00:33:03,519
شی واحد را برگردانیم
794
00:33:03,519 –> 00:33:08,720
محصولات آرایه ای از اشیاء را برمی گرداند،
795
00:33:08,720 –> 00:33:11,120
حالا بیایید به سراغ به روز رسانی برویم،
796
00:33:11,120 –> 00:33:13,200
بیایید این قسمت i را کپی کنیم.
797
00:33:13,200 –> 00:33:15,120
آن را به به روز رسانی کنید و همچنین نابود کنید
798
00:33:15,120 –> 00:33:18,559
زیرا ما از شیء در آنجا استفاده
799
00:33:18,559 –> 00:33:22,799
خواهیم کرد بنابراین سریال ساز را در
800
00:33:22,799 –> 00:33:25,760
اینجا برابر با محصول سریال ساز دریافت می
801
00:33:25,760 –> 00:33:27,840
کنیم، باید نمونه ای را
802
00:33:27,840 –> 00:33:30,240
که این محصول است عبور دهیم بنابراین نمونه
803
00:33:30,240 –> 00:33:31,519
یک محصول
804
00:33:31,519 –> 00:33:34,320
با داده هایی است که دارد
805
00:33:34,320 –> 00:33:36,640
و ما باید آن را با یک داده جدید به روز کنید
806
00:33:36,640 –> 00:33:39,120
که ما آن را از درخواست داده ها دریافت خواهیم کرد
807
00:33:39,120 –> 00:33:41,440
،
808
00:33:41,440 –> 00:33:43,919
بنابراین این پروژه ای است که محصولی
809
00:33:43,919 –> 00:33:45,039
که ما داریم
810
00:33:45,039 –> 00:33:46,799
و این داده هایی است که می خواهیم آن را به
811
00:33:46,799 –> 00:33:49,039
روز کنیم
812
00:33:49,039 –> 00:33:50,399
اکنون باید
813
00:33:50,399 –> 00:33:53,039
همان کاری را که باید بخواهیم انجام دهیم.
814
00:33:53,039 –> 00:33:56,000
اگر سریالساز معتبر باشد
815
00:33:56,000 –> 00:33:57,039
،
816
00:33:57,039 –> 00:33:58,240
817
00:33:58,240 –> 00:34:00,720
در پایان باید ذخیره کنیم، یک پاسخ
818
00:34:00,720 –> 00:34:02,720
با serializer.data برمیگردانیم
819
00:34:02,720 –> 00:34:04,320
و باید وضعیت را تغییر دهیم که
820
00:34:04,320 –> 00:34:05,200
821
00:34:05,200 –> 00:34:08,239
202 پذیرفته شده است،
822
00:34:08,239 –> 00:34:09,918
بنابراین بیایید
823
00:34:09,918 –> 00:34:12,560
محصول را با id1 تغییر
824
00:34:12,560 –> 00:34:14,719
دهیم، درخواست راهاندازی مجدد بوست را اینجا ارسال میکنیم.
825
00:34:14,719 –> 00:34:19,599
و این عنوان جدید است و تصویر جدید
826
00:34:19,599 –> 00:34:22,719
درخواست ارسال می کند و می بینیم که این
827
00:34:22,719 –> 00:34:25,119
مقادیر تغییر کرده اند اکنون همچنین
828
00:34:25,119 –> 00:34:27,918
وضعیت 202 پذیرفته شده است
829
00:34:27,918 –> 00:34:31,199
آخرین تغییر در حال از بین بردن شیء است
830
00:34:31,199 –> 00:34:33,520
این واقعاً ساده است باید
831
00:34:33,520 –> 00:34:34,480
محصول را
832
00:34:34,480 –> 00:34:36,159
حذف صدا کنیم
833
00:34:36,159 –> 00:34:38,560
و تمام است بنابراین باید بازگشت h
834
00:34:38,560 –> 00:34:40,239
پاسخ قبلی
835
00:34:40,239 –> 00:34:42,800
با وضعیت
836
00:34:42,800 –> 00:34:44,639
وضعیت
837
00:34:44,639 –> 00:34:49,280
http 204 بدون محتوا
838
00:34:49,280 –> 00:34:50,320
پس بیایید
839
00:34:50,320 –> 00:34:53,119
این محصول را حذف کنیم
840
00:34:53,119 –> 00:34:56,000
درخواست را ارسال کنید و ما 24 بدون
841
00:34:56,000 –> 00:34:58,000
محتوا داریم محصول نداریم و اگر
842
00:34:58,000 –> 00:35:01,119
به سراغ محصولات برویم
843
00:35:01,520 –> 00:35:02,400
844
00:35:02,400 –> 00:35:05,200
روش حذف نکنیم بنابراین
845
00:35:05,200 –> 00:35:09,040
اکنون یک آرایه خالی داریم در اینجا
846
00:35:09,040 –> 00:35:12,320
اکنون آخرین تماسی که به آن نیاز داریم
847
00:35:12,320 –> 00:35:14,800
تماس کاربر است، بنابراین ما یک کلاس دیگر را در اینجا ایجاد نماییم
848
00:35:14,800 –> 00:35:16,480
849
00:35:16,480 –> 00:35:17,760
850
00:35:17,760 –> 00:35:20,240
851
00:35:20,320 –> 00:35:23,839
api user بنابراین من از یک View set
852
00:35:23,839 –> 00:35:26,960
استفاده نخواهم کرد، من از یک view
853
00:35:27,280 –> 00:35:31,839
api view در اینجا استفاده خواهم کرد، بنابراین بیایید آن را
854
00:35:31,839 –> 00:35:34,400
از نماهای فریمورک rest firm import کنیم. ما
855
00:35:34,400 –> 00:35:36,960
نمای api را وارد می کنیم و این بسیار ساده خواهد بود
856
00:35:36,960 –> 00:35:38,800
857
00:35:38,800 –> 00:35:41,200
، باید تابع get را تعریف کنیم
858
00:35:41,200 –> 00:35:43,599
859
00:35:43,760 –> 00:35:45,760
و به پارامتری در اینجا نیاز داریم
860
00:35:45,760 –> 00:35:47,040
که درخواستی است
861
00:35:47,040 –> 00:35:49,280
که از آن استفاده نمی کنیم.
862
00:35:49,280 –> 00:35:51,599
863
00:35:51,599 –> 00:35:54,400
864
00:35:54,400 –> 00:35:56,720
865
00:35:56,720 –> 00:35:58,480
با عرض پوزش
866
00:35:58,480 –> 00:36:01,119
همه اشیاء،
867
00:36:01,119 –> 00:36:03,119
بنابراین بیایید
868
00:36:03,119 –> 00:36:06,000
کاربر را نیز از مدل ها وارد کنیم، بنابراین ما آن را
869
00:36:06,000 –> 00:36:07,359
در اینجا وارد
870
00:36:07,359 –> 00:36:09,440
کردیم، اکنون کاربر
871
00:36:09,440 –> 00:36:13,119
را دریافت کردیم، باید یک کاربر تصادفی بگیریم، بنابراین
872
00:36:13,119 –> 00:36:14,079
در اینجا
873
00:36:14,079 –> 00:36:16,720
من
874
00:36:16,720 –> 00:36:19,280
تصادفی
875
00:36:20,079 –> 00:36:23,359
را وارد می کنم تا یک کاربر تصادفی به دست بیاورم
876
00:36:23,359 –> 00:36:24,839
برابر است با
877
00:36:24,839 –> 00:36:27,119
878
00:36:27,119 –> 00:36:29,040
کاربران انتخاب تصادفی
879
00:36:29,040 –> 00:36:31,359
و این یک خواهد بود کاربر تصادفی حالا بیایید آن را
880
00:36:31,359 –> 00:36:35,119
برگردانیم شناسه پاسخ
881
00:36:37,040 –> 00:36:39,280
882
00:36:39,280 –> 00:36:41,839
شناسه user.id است،
883
00:36:41,839 –> 00:36:44,880
بنابراین این یک کاربر است، بنابراین بیایید آن را نیز
884
00:36:44,880 –> 00:36:47,040
به آدرسهای اینترنتی اضافه کنیم
885
00:36:47,040 –> 00:36:48,960
که مسیر کاربر خواهد بود
886
00:36:48,960 –> 00:36:50,000
887
00:36:50,000 –> 00:36:53,040
و باید آن را در اینجا وارد کنیم
888
00:36:53,040 –> 00:36:56,320
user api view
889
00:36:56,800 –> 00:37:00,800
user api view اینجا به عنوان view،
890
00:37:00,960 –> 00:37:03,359
بنابراین اجازه دهید این مسیر را آزمایش کنیم
891
00:37:03,359 –> 00:37:04,640
892
00:37:04,640 –> 00:37:06,560
تا این شود یک درخواست دریافت به
893
00:37:06,560 –> 00:37:09,440
کاربر،
894
00:37:09,440 –> 00:37:12,160
این خطا را برمیگرداند زیرا
895
00:37:12,160 –> 00:37:15,200
ما هیچ کاربر در پایگاه داده
896
00:37:15,200 –> 00:37:19,760
نداریم، بنابراین من به صورت دستی مقادیری
897
00:37:19,839 –> 00:37:20,880
898
00:37:20,880 –> 00:37:23,440
را در اینجا اضافه میکنم، بنابراین یک
899
00:37:23,440 –> 00:37:24,800
دو
900
00:37:24,800 –> 00:37:26,480
سه
901
00:37:26,480 –> 00:37:28,800
چهار و پنج
902
00:37:28,800 –> 00:37:31,839
را اینجا اضافه میکنم، بنابراین پنج کاربر یا پنج کاربر اضافه میکنم.
903
00:37:31,839 –> 00:37:33,440
اعداد
904
00:37:33,440 –> 00:37:35,119
حالا بیایید دوباره درخواست را ارسال کنیم و
905
00:37:35,119 –> 00:37:36,560
906
00:37:36,560 –> 00:37:39,680
اگر دوباره آن را ارسال کنم، پنج میگیرم، چهار میشود،
907
00:37:39,680 –> 00:37:43,119
بنابراین نتیجه تصادفی است،
908
00:37:43,119 –> 00:37:46,560
بنابراین این برنامه اصلی ما بود،
909
00:37:46,560 –> 00:37:49,040
اکنون باید برنامه دیگری ایجاد
910
00:37:49,040 –> 00:37:51,280
کنیم تا بتوانیم با آن ارتباط برقرار کنیم تا
911
00:37:51,280 –> 00:37:54,000
برنامه دیگر یک فلاسک باشد. برنامه
912
00:37:54,000 –> 00:37:56,720
اکنون زمان ایجاد برنامه اصلی است و
913
00:37:56,720 –> 00:37:59,520
من تصمیم گرفتم آن را با flask بسازم،
914
00:37:59,520 –> 00:38:02,160
بنابراین یک پوشه اصلی ایجاد کردم و در داخل
915
00:38:02,160 –> 00:38:05,040
یک فایل main.pi خالی ایجاد کردم،
916
00:38:05,040 –> 00:38:07,200
بنابراین بیایید ابتدا شروع
917
00:38:07,200 –> 00:38:11,280
کنیم و موارد مورد نیاز را در اینجا جایگذاری می کنم.
918
00:38:11,280 –> 00:38:14,079
برای نصب flask
919
00:38:14,079 –> 00:38:17,359
flask sql alchemy sql alchemy
920
00:38:17,359 –> 00:38:20,079
flask مهاجرت اسکریپت های فلش f درخواست دوره lash
921
00:38:20,079 –> 00:38:23,119
mysql client و pica
922
00:38:23,119 –> 00:38:25,680
بنابراین نیازهای زیادی وجود دارد
923
00:38:25,680 –> 00:38:27,680
که ما نیاز داریم
924
00:38:27,680 –> 00:38:28,400
و
925
00:38:28,400 –> 00:38:31,200
اکنون به پروژه دیگر می رویم و
926
00:38:31,200 –> 00:38:33,839
من فایل های docker را اینجا کپی می کنم
927
00:38:33,839 –> 00:38:37,040
و آنها را اینجا
928
00:38:37,200 –> 00:38:39,359
929
00:38:39,359 –> 00:38:40,960
می چسبانم تا فایل docker
930
00:38:40,960 –> 00:38:43,520
در اینجا یکسان باشد
931
00:38:43,520 –> 00:38:44,720
به
932
00:38:44,720 –> 00:38:48,480
جز دستوری که ساده تر خواهد بود
933
00:38:48,480 –> 00:38:50,800
فقط پایتون
934
00:38:50,800 –> 00:38:52,560
اصلی
935
00:38:52,560 –> 00:38:54,320
نقطه pi
936
00:38:54,320 –> 00:38:58,079
بنابراین این فایل داکر خواهد بود و فایل docker
937
00:38:58,079 –> 00:39:00,240
compose برای mysql هم
938
00:39:00,240 –> 00:39:02,720
همینطور خواهد بود با این تفاوت که این یک پورت جدید خواهد بود
939
00:39:02,720 –> 00:39:05,119
من 7 را در اینجا
940
00:39:05,119 –> 00:39:06,880
قرار می دهم و نام پایگاه داده را به main تغییر می دهم.
941
00:39:06,880 –> 00:39:09,119
942
00:39:09,200 –> 00:39:10,800
نیازی به تغییر نام پایگاه داده
943
00:39:10,800 –> 00:39:13,280
نیست زیرا این یک کانتینر دیگر است
944
00:39:13,280 –> 00:39:14,560
اما
945
00:39:14,560 –> 00:39:16,160
ما آن را تغییر دادیم
946
00:39:16,160 –> 00:39:19,119
بنابراین پورت پیش فرض برای فلاسک
947
00:39:19,119 –> 00:39:21,839
5000 خواهد بود
948
00:39:21,839 –> 00:39:22,720
و
949
00:39:22,720 –> 00:39:25,040
8000
950
00:39:25,040 –> 00:39:27,599
با جنگل تا اشغال می شود بنابراین من از
951
00:39:27,599 –> 00:39:29,839
8001 در اینجا استفاده خواهم کرد
952
00:39:29,839 –> 00:39:31,839
و تمام است بنابراین
953
00:39:31,839 –> 00:39:34,560
فایل های docker اکنون کامل شده است، اجازه دهید
954
00:39:34,560 –> 00:39:35,839
955
00:39:35,839 –> 00:39:38,560
یک فلاسک را در اینجا ایجاد کنیم، بنابراین از
956
00:39:38,560 –> 00:39:41,560
فلاسک
957
00:39:42,400 –> 00:39:43,599
واردات
958
00:39:43,599 –> 00:39:46,079
فلاسک،
959
00:39:46,240 –> 00:39:47,359
اجازه دهید برنامه را
960
00:39:47,359 –> 00:39:49,200
961
00:39:49,200 –> 00:39:52,400
با نام فلاسک
962
00:39:53,040 –> 00:39:56,359
در اینجا ایجاد کنیم،
963
00:39:56,720 –> 00:39:58,000
بنابراین
964
00:39:58,000 –> 00:40:00,720
بیایید یک برنامه اصلی را راه اندازی کنیم، بنابراین در اینجا
965
00:40:00,720 –> 00:40:03,119
مسیر جدید را به بالا اضافه می کنم،
966
00:40:03,119 –> 00:40:05,520
967
00:40:05,599 –> 00:40:06,400
بنابراین
968
00:40:06,400 –> 00:40:08,400
فقط
969
00:40:08,400 –> 00:40:10,560
یک علامت عملکرد ایجاد می کنم.
970
00:40:10,560 –> 00:40:13,040
971
00:40:13,040 –> 00:40:13,839
و
972
00:40:13,839 –> 00:40:16,880
در اینجا من فقط سلام را برمیگردانم،
973
00:40:16,880 –> 00:40:20,160
پس بیایید ببینیم آیا این کار میکند،
974
00:40:20,160 –> 00:40:22,839
بنابراین باید شرطی را اضافه کنم
975
00:40:22,839 –> 00:40:25,839
اگر
976
00:40:25,839 –> 00:40:27,839
نام برابر با
977
00:40:27,839 –> 00:40:30,160
main باشد،
978
00:40:31,520 –> 00:40:33,119
سپس up
979
00:40:33,119 –> 00:40:34,640
run
980
00:40:34,640 –> 00:40:37,760
با debug برابر با true است،
981
00:40:37,760 –> 00:40:40,240
ما همچنین به میزبان نیاز داریم، بنابراین میزبان
982
00:40:40,240 –> 00:40:43,800
0.0.0.0 خواهد بود
983
00:40:46,400 –> 00:40:47,760
984
00:40:47,760 –> 00:40:49,920
. حالا بیایید سعی کنیم آن را
985
00:40:49,920 –> 00:40:52,560
بدون داکر کانتینر
986
00:40:52,560 –> 00:40:54,319
python
987
00:40:54,319 –> 00:40:56,079
3
988
00:40:56,079 –> 00:40:58,480
main.play اجرا
989
00:40:58,480 –> 00:41:00,880
کنیم، بنابراین ما این پورت را دریافت کردیم،
990
00:41:00,880 –> 00:41:03,760
بیایید آن را کپی کنیم
991
00:41:04,839 –> 00:41:09,280
و یک تب جدید در postman باز
992
00:41:10,160 –> 00:41:13,280
کنیم، بنابراین یک خطا داریم،
993
00:41:15,680 –> 00:41:16,480
994
00:41:16,480 –> 00:41:18,560
بنابراین سلام
995
00:41:18,560 –> 00:41:21,119
، مطمئن نیستم چرا باریک را پرتاب کنیم،
996
00:41:21,119 –> 00:41:22,880
حالا بیایید همین کار را انجام دهیم.
997
00:41:22,880 –> 00:41:25,440
اما این بار با docker،
998
00:41:25,440 –> 00:41:26,240
بنابراین
999
00:41:26,240 –> 00:41:28,319
ما همه الزامات را داریم و
1000
00:41:28,319 –> 00:41:30,480
نیازی به تغییر چیزی
1001
00:41:30,480 –> 00:41:31,839
نداریم، بنابراین اجازه دهید تا
1002
00:41:31,839 –> 00:41:32,800
docker
1003
00:41:32,800 –> 00:41:33,920
compose
1004
00:41:33,920 –> 00:41:35,520
up
1005
00:41:35,520 –> 00:41:39,119
را شروع کنیم و صبر کنیم تا تکمیل
1006
00:41:42,880 –> 00:41:44,880
شود تا تمام شود،
1007
00:41:44,880 –> 00:41:48,400
میتوانیم یک پوشه داده db را اینجا ببینیم
1008
00:41:48,400 –> 00:41:49,680
و
1009
00:41:49,680 –> 00:41:52,880
حالا پورت را تست کنیم.
1010
00:41:52,880 –> 00:41:54,560
5000
1011
00:41:54,560 –> 00:41:56,079
نخواهد بود زیرا این در داخل داکر
1012
00:41:56,079 –> 00:41:57,280
1013
00:41:57,280 –> 00:42:00,880
کانتینر خواهد بود، پورت 8001 خواهد بود، بنابراین در اینجا
1014
00:42:00,880 –> 00:42:04,160
من آن را با پورت localhost 8001 تغییر میدهم
1015
00:42:04,160 –> 00:42:07,440
1016
00:42:07,440 –> 00:42:09,119
و تمام است، بنابراین
1017
00:42:09,119 –> 00:42:11,040
اکنون میتوانیم سلام را ببینیم،
1018
00:42:11,040 –> 00:42:11,839
بنابراین
1019
00:42:11,839 –> 00:42:14,160
داکر اکنون کار میکند،
1020
00:42:14,160 –> 00:42:15,680
بیایید
1021
00:42:15,680 –> 00:42:17,680
mysql را به
1022
00:42:17,680 –> 00:42:20,720
این main.pi اضافه کنیم.
1023
00:42:20,720 –> 00:42:26,480
پس بیایید کیمیاگری sql را وارد کنیم از
1024
00:42:26,800 –> 00:42:28,000
flask
1025
00:42:28,000 –> 00:42:31,560
sql alchemy
1026
00:42:32,000 –> 00:42:33,599
import
1027
00:42:33,599 –> 00:42:35,839
sql alchemy
1028
00:42:35,839 –> 00:42:39,599
و ما باید از آن در اینجا استفاده کنیم تا
1029
00:42:39,599 –> 00:42:42,079
پیکربندی را انجام
1030
00:42:43,280 –> 00:42:45,599
دهیم و باید یک
1031
00:42:45,599 –> 00:42:50,640
ثابت تنظیم کنیم، بنابراین sql alchemy
1032
00:42:51,440 –> 00:42:54,560
underscore پایگاه داده
1033
00:42:54,560 –> 00:42:57,040
underscore uri است،
1034
00:42:57,040 –> 00:42:59,440
بنابراین با این کار اتصال db را اضافه می کنیم
1035
00:42:59,440 –> 00:43:00,960
1036
00:43:00,960 –> 00:43:06,079
و آنچه ما نیاز داریم این است که mysql را در اینجا اضافه کنیم.
1037
00:43:06,960 –> 00:43:08,640
و
1038
00:43:08,640 –> 00:43:10,960
در اینجا باید کاربر و رمز عبور را اضافه کنیم،
1039
00:43:10,960 –> 00:43:15,440
بنابراین root root در مورد ما
1040
00:43:15,440 –> 00:43:19,440
در حال حاضر به هاست نیاز داریم.
1041
00:43:19,440 –> 00:43:21,920
1042
00:43:21,920 –> 00:43:23,920
1043
00:43:23,920 –> 00:43:26,319
1044
00:43:26,319 –> 00:43:28,319
1045
00:43:28,319 –> 00:43:31,280
بنابراین با این کار میتوانیم به این پایگاه داده وصل شویم،
1046
00:43:31,280 –> 00:43:33,839
1047
00:43:34,960 –> 00:43:36,720
1048
00:43:36,720 –> 00:43:39,200
البته اینجا
1049
00:43:39,200 –> 00:43:42,000
1050
00:43:42,000 –> 00:43:46,319
1051
00:43:46,319 –> 00:43:48,880
هم اضافه میکنم، زیرا قسمت جلویی به آن نیاز دارد، بنابراین بیایید آن را از دوره flask وارد کنیم، آن را به برنامه اضافه میکنم
1052
00:43:48,880 –> 00:43:49,680
و
1053
00:43:49,680 –> 00:43:51,839
1054
00:43:51,839 –> 00:43:57,520
اکنون پایگاه داده برابر با sql alchemy است
1055
00:43:58,160 –> 00:43:58,960
و
1056
00:43:58,960 –> 00:44:00,880
در اینجا ما
1057
00:44:00,880 –> 00:44:02,960
اکنون می گذرد، بیایید دو مدل ایجاد کنیم که به آن نیاز داریم،
1058
00:44:02,960 –> 00:44:04,319
بنابراین محصول کلاس،
1059
00:44:04,319 –> 00:44:06,319
1060
00:44:06,319 –> 00:44:08,560
این از مدل db گسترش می یابد
1061
00:44:08,560 –> 00:44:10,880
1062
00:44:10,880 –> 00:44:14,000
و بیایید تمام ویژگی های مورد نیاز محصول مورد نیاز خود را اضافه
1063
00:44:14,000 –> 00:44:15,760
1064
00:44:15,760 –> 00:44:18,640
کنیم، شناسه
1065
00:44:18,640 –> 00:44:20,079
که یک
1066
00:44:20,079 –> 00:44:21,040
1067
00:44:21,040 –> 00:44:23,839
ستون
1068
00:44:23,920 –> 00:44:27,280
db db عدد صحیح است
1069
00:44:28,160 –> 00:44:32,079
و همچنین یک کلید اولیه است.
1070
00:44:33,440 –> 00:44:36,240
باید تغییر دیگری ایجاد کند
1071
00:44:36,240 –> 00:44:38,319
برای شناسه در اینجا
1072
00:44:38,319 –> 00:44:40,079
1073
00:44:40,079 –> 00:44:42,960
افزایش خودکار را در اینجا به false
1074
00:44:42,960 –> 00:44:45,200
اضافه می کنیم چرا این فیلد را اضافه کردم
1075
00:44:45,200 –> 00:44:46,400
1076
00:44:46,400 –> 00:44:48,800
زیرا محصول در این
1077
00:44:48,800 –> 00:44:52,560
برنامه ایجاد نمی شود محصول در برنامه جنگل ایجاد می شود
1078
00:44:52,560 –> 00:44:54,160
1079
00:44:54,160 –> 00:44:57,040
و این برنامه فقط رویداد را
1080
00:44:57,040 –> 00:44:58,560
از rabbitmq می گیرد
1081
00:44:58,560 –> 00:45:01,599
و این کار را انجام می دهد. محصول را ایجاد کنید
1082
00:45:01,599 –> 00:45:03,920
و وقتی محصول را ایجاد می کنیم نمی
1083
00:45:03,920 –> 00:45:06,720
خواهیم شناسه به صورت خودکار افزایش یابد
1084
00:45:06,720 –> 00:45:08,800
زیرا شناسه با برنامه جنگل متفاوت خواهد بود
1085
00:45:08,800 –> 00:45:11,119
1086
00:45:11,119 –> 00:45:14,480
بنابراین اگر همان شناسه را می خواهیم باید
1087
00:45:14,480 –> 00:45:17,760
آن را در incremental false قرار داده و مستقیماً درج کنیم.
1088
00:45:17,760 –> 00:45:20,480
شناسه همانطور که از برنامه جنگو است،
1089
00:45:20,480 –> 00:45:23,839
بنابراین کمی بعد به صورت مثال خواهیم دید
1090
00:45:23,839 –> 00:45:25,599
1091
00:45:25,599 –> 00:45:28,720
حالا بیایید عنوان db ستون db را اضافه کنیم
1092
00:45:30,560 –> 00:45:31,520
1093
00:45:31,520 –> 00:45:33,839
1094
00:45:34,160 –> 00:45:35,440
1095
00:45:35,440 –> 00:45:37,119
1096
00:45:37,119 –> 00:45:38,800
و این یک کاراکتر 200 خواهد بود،
1097
00:45:38,800 –> 00:45:41,119
1098
00:45:41,119 –> 00:45:45,240
بیایید همین کار را برای تصویر انجام دهیم،
1099
00:45:46,800 –> 00:45:49,680
بنابراین این یک اطلاعیه محصول است
1100
00:45:49,680 –> 00:45:51,440
که اوه،
1101
00:45:51,440 –> 00:45:53,359
این محصول با محصول دیگر متفاوت خواهد بود،
1102
00:45:53,359 –> 00:45:54,640
1103
00:45:54,640 –> 00:45:55,920
1104
00:45:55,920 –> 00:45:59,040
زیرا ما در اینجا لایک نداریم
1105
00:45:59,040 –> 00:46:02,400
و شناسه آن متفاوت است، بنابراین
1106
00:46:02,400 –> 00:46:06,319
میتوانیم فکر کنیم که این یک نوع متفاوت از
1107
00:46:06,319 –> 00:46:08,079
برنامههای دیگر است،
1108
00:46:08,079 –> 00:46:09,920
بیایید کلاس دیگری را نیز اضافه کنیم.
1109
00:46:09,920 –> 00:46:14,119
نیاز به هر کدام است کاربر محصول
1110
00:46:15,359 –> 00:46:17,440
1111
00:46:17,440 –> 00:46:19,119
از مدل db،
1112
00:46:19,119 –> 00:46:21,040
1113
00:46:21,040 –> 00:46:23,440
بنابراین یک شناسه خواهد داشت
1114
00:46:23,440 –> 00:46:24,319
1115
00:46:24,319 –> 00:46:26,800
که یک
1116
00:46:26,839 –> 00:46:30,079
ستون db
1117
00:46:30,079 –> 00:46:32,800
کلید اصلی عدد صحیح است،
1118
00:46:32,800 –> 00:46:36,720
بنابراین به طور معمول افزایش می یابد،
1119
00:46:36,720 –> 00:46:39,440
ما در اینجا به شناسه کاربر
1120
00:46:39,440 –> 00:46:41,040
1121
00:46:41,040 –> 00:46:43,280
که یک
1122
00:46:43,280 –> 00:46:46,400
عدد صحیح ستون db db است
1123
00:46:46,480 –> 00:46:51,560
و برای شناسه محصول
1124
00:46:56,240 –> 00:47:00,160
نیز به آن نیاز داریم. محدودیت منحصر به فرد
1125
00:47:02,319 –> 00:47:04,960
1126
00:47:06,720 –> 00:47:10,920
برای شناسه محصول شناسه کاربر
1127
00:47:11,040 –> 00:47:14,079
1128
00:47:14,079 –> 00:47:16,880
و ما باید نامی را که یک
1129
00:47:16,880 –> 00:47:19,920
محصول کاربر
1130
00:47:19,920 –> 00:47:22,400
منحصر به فرد است تنظیم کنیم،
1131
00:47:22,640 –> 00:47:25,680
بنابراین این محدودیت منحصر به فرد، بنابراین بیایید
1132
00:47:25,680 –> 00:47:27,440
آن را از اینجا از
1133
00:47:27,440 –> 00:47:29,440
sql alchemy وارد
1134
00:47:29,440 –> 00:47:31,520
کنیم
1135
00:47:31,520 –> 00:47:32,800
تا
1136
00:47:32,800 –> 00:47:35,440
این محدودیت منحصر به فرد مطمئن شود
1137
00:47:35,440 –> 00:47:37,440
که ترکیب شناسه کاربر و
1138
00:47:37,440 –> 00:47:39,520
شناسه محصول باید منحصر به فرد باشد،
1139
00:47:39,520 –> 00:47:41,839
نباید آن را تکرار کنیم،
1140
00:47:41,839 –> 00:47:44,160
بنابراین مدل هایی را ایجاد کردیم که از آنها
1141
00:47:44,160 –> 00:47:47,280
استفاده خواهیم کرد، اکنون باید مهاجرت کنیم، بنابراین
1142
00:47:47,280 –> 00:47:48,640
برای
1143
00:47:48,640 –> 00:47:51,200
مهاجرت، یک فایل جدید در اینجا ایجاد می
1144
00:47:51,200 –> 00:47:54,720
کنم و آن را مدیر می نامم
1145
00:47:55,280 –> 00:47:58,800
و اکنون در اینجا به مقداری واردات نیاز داریم، بنابراین
1146
00:47:58,800 –> 00:47:59,839
ابتدا
1147
00:47:59,839 –> 00:48:02,000
از برنامه اصلی
1148
00:48:02,000 –> 00:48:06,640
ما باید وارد کنیم و db
1149
00:48:06,640 –> 00:48:09,359
باید از
1150
00:48:09,359 –> 00:48:10,720
flask
1151
00:48:10,720 –> 00:48:14,160
migre وارد کنیم، باید
1152
00:48:14,160 –> 00:48:17,040
دستور migre و migrate را وارد کنیم
1153
00:48:17,040 –> 00:48:18,160
و از
1154
00:48:18,160 –> 00:48:23,359
اسکریپت flask که باید import manager را وارد کنیم،
1155
00:48:24,160 –> 00:48:25,520
اکنون
1156
00:48:25,520 –> 00:48:26,880
1157
00:48:26,880 –> 00:48:28,319
migrate برابر با
1158
00:48:28,319 –> 00:48:33,520
مهاجرت با برنامه ما و db ما است. و
1159
00:48:33,520 –> 00:48:35,839
سپس باید به مدیر برسیم تا
1160
00:48:35,839 –> 00:48:37,040
1161
00:48:37,040 –> 00:48:40,240
مدیر برابر با مدیر باشد،
1162
00:48:40,880 –> 00:48:43,200
باید برنامه را به داخل منتقل کنیم و
1163
00:48:43,200 –> 00:48:45,119
مدیر
1164
00:48:45,119 –> 00:48:46,000
1165
00:48:46,000 –> 00:48:49,440
دستور
1166
00:48:49,440 –> 00:48:52,319
db را اضافه می کند، دستور migre را در اینجا اضافه
1167
00:48:52,319 –> 00:48:54,160
1168
00:48:54,160 –> 00:48:56,960
می کنیم تا یک دستور db برای اجرای مهاجرت های خود داشته باشیم.
1169
00:48:56,960 –> 00:49:00,000
1170
00:49:00,000 –> 00:49:02,400
اکنون آن را خواهیم دید که نام
1171
00:49:02,400 –> 00:49:04,160
if
1172
00:49:04,160 –> 00:49:06,400
را
1173
00:49:07,359 –> 00:49:09,040
برابر main
1174
00:49:09,040 –> 00:49:11,200
1175
00:49:12,800 –> 00:49:17,200
اضافه می کنیم، بنابراین باید مدیر run را اضافه کنیم
1176
00:49:17,200 –> 00:49:19,119
و تمام است،
1177
00:49:19,119 –> 00:49:20,160
بنابراین
1178
00:49:20,160 –> 00:49:22,720
اگر اکنون ترمینال را باز کنیم
1179
00:49:22,720 –> 00:49:26,000
و یک تب جدید باز کنیم، اینجا docker
1180
00:49:26,000 –> 00:49:27,359
compose
1181
00:49:27,359 –> 00:49:28,960
exec
1182
00:49:28,960 –> 00:49:30,400
backend
1183
00:49:30,400 –> 00:49:32,079
sh
1184
00:49:32,079 –> 00:49:33,920
و اکنون اجرا می کنیم.
1185
00:49:33,920 –> 00:49:36,400
اگر
1186
00:49:36,400 –> 00:49:38,720
پایتون
1187
00:49:38,720 –> 00:49:41,760
منیجر dot pi
1188
00:49:41,760 –> 00:49:42,640
را
1189
00:49:42,640 –> 00:49:44,559
1190
00:49:44,559 –> 00:49:46,480
اجرا کنیم و دستور db را اجرا
1191
00:49:46,480 –> 00:49:47,839
1192
00:49:47,839 –> 00:49:50,079
1193
00:49:50,079 –> 00:49:51,280
می کنیم،
1194
00:49:51,280 –> 00:49:53,599
1195
00:49:53,599 –> 00:49:55,119
1196
00:49:55,119 –> 00:49:56,400
اکنون در داخل
1197
00:49:56,400 –> 00:49:59,760
داکر هستیم. برای اجرای
1198
00:49:59,760 –> 00:50:00,800
python
1199
00:50:00,800 –> 00:50:02,319
manager
1200
00:50:02,319 –> 00:50:04,400
dot py
1201
00:50:04,400 –> 00:50:07,280
db init
1202
00:50:08,079 –> 00:50:10,319
بنابراین ما
1203
00:50:10,319 –> 00:50:13,200
تعدادی فایل مهاجرت ایجاد
1204
00:50:13,200 –> 00:50:15,839
کردیم که می توانیم آنها را اینجا
1205
00:50:15,839 –> 00:50:18,880
ببینیم اکنون باید آنها را مهاجرت کنیم بنابراین
1206
00:50:18,880 –> 00:50:20,880
اکنون در اطراف پایتون
1207
00:50:20,880 –> 00:50:22,640
مدیریت
1208
00:50:22,640 –> 00:50:24,559
dot pi
1209
00:50:24,559 –> 00:50:27,839
db migrate
1210
00:50:28,720 –> 00:50:29,680
1211
00:50:29,680 –> 00:50:30,880
بنابراین باید مدیر پایتون باشد
1212
00:50:30,880 –> 00:50:32,319
1213
00:50:32,319 –> 00:50:33,839
1214
00:50:33,839 –> 00:50:35,280
که pi
1215
00:50:35,280 –> 00:50:36,559
db
1216
00:50:36,559 –> 00:50:39,559
مهاجرت کند
1217
00:50:40,960 –> 00:50:43,760
بنابراین ما یک جدول جدید ایجاد کردیم اگر
1218
00:50:43,760 –> 00:50:45,920
دیتابیس را باز کنیم حالا ما با دیتابیس وصل می شویم،
1219
00:50:45,920 –> 00:50:47,760
1220
00:50:47,760 –> 00:50:48,720
بنابراین
1221
00:50:48,720 –> 00:50:50,960
این عدد 7 خواهد بود، در
1222
00:50:50,960 –> 00:50:53,119
اینجا کاربر root است
1223
00:50:53,119 –> 00:50:55,440
رمز عبور نیز روت است
1224
00:50:55,440 –> 00:50:59,119
و پایگاه داده اصلی خواهد بود،
1225
00:51:00,880 –> 00:51:03,760
بنابراین بیایید وصل
1226
00:51:04,480 –> 00:51:06,160
شویم،
1227
00:51:06,160 –> 00:51:08,800
اکنون یک پایگاه داده با نسخه نمادین می بینیم،
1228
00:51:08,800 –> 00:51:11,440
اما ما نمی بینیم جداول چون
1229
00:51:11,440 –> 00:51:14,240
باید دستور دیگری برای آن اجرا کنیم
1230
00:51:14,240 –> 00:51:16,880
که python
1231
00:51:16,880 –> 00:51:18,000
مدیریت
1232
00:51:18,000 –> 00:51:18,880
آن
1233
00:51:18,880 –> 00:51:21,599
مدیر است متأسفم که pi
1234
00:51:21,599 –> 00:51:22,559
db
1235
00:51:22,559 –> 00:51:25,040
ارتقا داده شد
1236
00:51:27,280 –> 00:51:29,359
و اکنون مهاجرت را اجرا می کنیم اگر
1237
00:51:29,359 –> 00:51:32,400
رفرش کنیم جدول را می بینیم بنابراین این یک
1238
00:51:32,400 –> 00:51:33,760
جدول محصول است
1239
00:51:33,760 –> 00:51:37,760
و این یک جدول کاربر محصول است.
1240
00:51:37,760 –> 00:51:41,119
به این صورت است که ما با استفاده از docker فلاسک را با mysql وصل می کنیم،
1241
00:51:41,119 –> 00:51:42,480
1242
00:51:42,480 –> 00:51:45,200
1243
00:51:45,200 –> 00:51:47,359
اکنون زمان استفاده از rabbitmq برای
1244
00:51:47,359 –> 00:51:48,880
برنامه های پایتون فرا رسیده است،
1245
00:51:48,880 –> 00:51:53,280
بنابراین من از این سرویس cloud ampq استفاده خواهم کرد
1246
00:51:53,280 –> 00:51:54,000
و
1247
00:51:54,000 –> 00:51:55,760
شما باید
1248
00:51:55,760 –> 00:51:57,760
یک حساب کاربری رایگان ایجاد کنید،
1249
00:51:57,760 –> 00:52:00,800
این همان حساب رایگانی است که من قبلا
1250
00:52:00,800 –> 00:52:04,079
ایجاد کرده ام تا بتوانم وارد شوید
1251
00:52:04,079 –> 00:52:06,480
بنابراین این اکانت رایگان من است
1252
00:52:06,480 –> 00:52:08,880
و کاری که من اینجا انجام خواهم داد
1253
00:52:08,880 –> 00:52:12,480
این url ampq است که فقط آن را کپی می کنم و
1254
00:52:12,480 –> 00:52:14,960
اکنون می توانم به برنامه منتقل شوم
1255
00:52:14,960 –> 00:52:17,040
بنابراین به برنامه جنگل می
1256
00:52:17,040 –> 00:52:19,760
روم و در محصولات اینجا
1257
00:52:19,760 –> 00:52:21,839
یک فایل پایتون ایجاد خواهم کرد.
1258
00:52:21,839 –> 00:52:24,559
تولید کننده
1259
00:52:25,040 –> 00:52:27,359
و در حال حاضر من فقط این آدرس اینترنتی را کپی می کنم
1260
00:52:27,359 –> 00:52:29,119
1261
00:52:29,119 –> 00:52:32,720
حالا بیایید یک رویداد به rabbitmq بفرستیم
1262
00:52:32,720 –> 00:52:36,319
بنابراین ابتدا باید pica را وارد کنیم
1263
00:52:36,319 –> 00:52:38,240
این بسته ای است که
1264
00:52:38,240 –> 00:52:39,760
به ما کمک می کند
1265
00:52:39,760 –> 00:52:41,359
رویدادها را ارسال کنیم
1266
00:52:41,359 –> 00:52:44,240
و بیایید یک متغیر ایجاد کنیم که پارامترهای
1267
00:52:44,240 –> 00:52:47,760
آن برابر با
1268
00:52:47,760 –> 00:52:49,839
پارامترهای url pica باشد
1269
00:52:49,839 –> 00:52:52,640
و در اینجا می توانیم آدرس اینترنتی را که به تازگی
1270
00:52:52,640 –> 00:52:54,880
در اینجا چسبانده ایم
1271
00:52:54,880 –> 00:52:58,200
به عنوان یک قرار دهیم. رشته
1272
00:53:01,040 –> 00:53:04,000
بنابراین ما پارامترها را ایجاد کردیم
1273
00:53:04,000 –> 00:53:06,480
این آزار دهنده است
1274
00:53:06,480 –> 00:53:08,880
اتصال
1275
00:53:08,880 –> 00:53:10,319
اکنون برابر است با
1276
00:53:10,319 –> 00:53:12,480
1277
00:53:12,839 –> 00:53:14,640
1278
00:53:14,640 –> 00:53:16,559
اتصال مسدود کننده pica است
1279
00:53:16,559 –> 00:53:19,839
و ما پارامترها را در اینجا پاس می
1280
00:53:19,839 –> 00:53:21,200
1281
00:53:21,200 –> 00:53:23,520
دهیم بنابراین اتصال را با rabbitmq
1282
00:53:23,520 –> 00:53:26,400
ایجاد کردیم اکنون باید کانالی را ایجاد کنیم
1283
00:53:26,400 –> 00:53:28,720
که برابر با کانال اتصال است
1284
00:53:28,720 –> 00:53:31,200
1285
00:53:31,200 –> 00:53:33,920
بنابراین با این ایجاد کردیم.
1286
00:53:33,920 –> 00:53:35,839
کانال را اکنون می توانیم منتشر کنیم،
1287
00:53:35,839 –> 00:53:40,480
بنابراین برای انتشار، یک تابع ایجاد می کنم
1288
00:53:40,839 –> 00:53:42,480
انتشار
1289
00:53:42,480 –> 00:53:45,760
داخل، یک متد
1290
00:53:45,760 –> 00:53:48,480
و یک بدنه
1291
00:53:48,640 –> 00:53:49,599
1292
00:53:49,599 –> 00:53:52,319
قرار می دهم، بنابراین برای یک لحظه آن را خالی نگه می دارم
1293
00:53:52,319 –> 00:53:55,119
تا بتوانیم نمونه
1294
00:53:55,119 –> 00:53:57,040
ای از
1295
00:53:57,040 –> 00:53:59,680
روش انتشار را ببینیم، بنابراین کانال در اینجا
1296
00:53:59,680 –> 00:54:01,359
1297
00:54:01,359 –> 00:54:03,359
انتشار اولیه
1298
00:54:03,359 –> 00:54:05,760
ما نیاز به قرار دادن یک مبادله، من یک
1299
00:54:05,760 –> 00:54:07,680
1300
00:54:07,680 –> 00:54:10,079
کلید مسیریابی رشته خالی قرار می دهم، این یک صف است که می خواهیم
1301
00:54:10,079 –> 00:54:11,440
1302
00:54:11,440 –> 00:54:12,640
رویداد را ارسال کنیم،
1303
00:54:12,640 –> 00:54:15,599
بنابراین فعلاً آن را به عنوان مدیر قرار می دهم تا
1304
00:54:15,599 –> 00:54:17,680
آن را در همان صف این مورد منتشر کنم.
1305
00:54:17,680 –> 00:54:20,079
1306
00:54:20,160 –> 00:54:22,720
با ضربه ما به بدنه نیاز داریم
1307
00:54:22,720 –> 00:54:26,640
که فعلا سلام است،
1308
00:54:26,960 –> 00:54:28,640
بنابراین می
1309
00:54:28,640 –> 00:54:31,200
توانیم از این تابع انتشار
1310
00:54:31,200 –> 00:54:32,480
استفاده کنیم، من از آن
1311
00:54:32,480 –> 00:54:33,760
در نمای ها استفاده خواهم کرد
1312
00:54:33,760 –> 00:54:36,559
وقتی محصولات را لیست می کنیم
1313
00:54:36,559 –> 00:54:40,480
، فقط اینجا منتشر می کنم،
1314
00:54:44,079 –> 00:54:46,960
بنابراین تابع را وارد کردم
1315
00:54:46,960 –> 00:54:49,359
و زمانی که بازیابی می کنیم همه محصولاتی که
1316
00:54:49,359 –> 00:54:51,680
منتشر خواهیم کرد سلام
1317
00:54:51,680 –> 00:54:54,240
اکنون تولید کننده
1318
00:54:54,240 –> 00:54:56,559
را ایجاد کردیم اکنون باید مصرف کننده را ایجاد کنیم بنابراین
1319
00:54:56,559 –> 00:55:01,680
در اینجا باید مصرف کننده را ایجاد کنیم
1320
00:55:03,040 –> 00:55:07,119
بنابراین شروع یکسان است بیایید
1321
00:55:07,119 –> 00:55:11,680
همه چیز را از تولید کننده
1322
00:55:12,640 –> 00:55:14,079
کپی کنیم آن را اینجا بچسبانیم
1323
00:55:14,079 –> 00:55:16,240
و اکنون باید اعلام کنیم صف بنابراین
1324
00:55:16,240 –> 00:55:18,720
کانال
1325
00:55:19,440 –> 00:55:21,839
نشانه
1326
00:55:22,079 –> 00:55:24,640
اعلام می شود
1327
00:55:25,119 –> 00:55:26,880
و صف خواهد شد
1328
00:55:26,880 –> 00:55:29,359
admin
1329
00:55:30,160 –> 00:55:32,160
بنابراین در حال حاضر ما نیاز به پاسخ
1330
00:55:32,160 –> 00:55:35,839
تماس بنابراین
1331
00:55:37,440 –> 00:55:38,319
این
1332
00:55:38,319 –> 00:55:39,599
یک
1333
00:55:39,599 –> 00:55:42,559
کانال را به عنوان پارامتر می پذیرد
1334
00:55:42,559 –> 00:55:45,040
ویژگی های روش
1335
00:55:45,040 –> 00:55:47,280
و بدن
1336
00:55:47,280 –> 00:55:50,480
اجازه دهید برای لحظه ای
1337
00:55:51,280 –> 00:55:53,920
پس از callback باید برای
1338
00:55:53,920 –> 00:55:57,599
فراخوانی کانال اصلی
1339
00:55:57,599 –> 00:55:59,599
مصرف
1340
00:55:59,599 –> 00:56:02,559
در اینجا باید صفی را که
1341
00:56:02,559 –> 00:56:04,480
admin است عبور دهید
1342
00:56:04,480 –> 00:56:05,359
و
1343
00:56:05,359 –> 00:56:08,160
ما باید پیام برگشتی را ارسال کنیم
1344
00:56:08,160 –> 00:56:10,000
که این پاسخ تماسی است که ما
1345
00:56:10,000 –> 00:56:12,559
ایجاد
1346
00:56:12,799 –> 00:56:14,400
1347
00:56:14,400 –> 00:56:16,559
کردیم، بنابراین ما در حال حاضر در حال مصرف
1348
00:56:16,559 –> 00:56:19,359
هستیم و میتوانیم
1349
00:56:20,079 –> 00:56:21,680
شروع به
1350
00:56:21,680 –> 00:56:24,319
مصرف چاپ
1351
00:56:25,040 –> 00:56:27,599
کنیم زیرا میخواهیم داشته باشیم. یک پیغام برای
1352
00:56:27,599 –> 00:56:31,680
اینکه ببینیم آیا ما شروع به مصرف کردیم و کانال
1353
00:56:31,680 –> 00:56:33,280
شروع به
1354
00:56:33,280 –> 00:56:35,920
مصرف کرد،
1355
00:56:37,040 –> 00:56:38,960
بنابراین با این کار
1356
00:56:38,960 –> 00:56:40,880
در پایان آن را می بندیم تا کانال ببندید
1357
00:56:40,880 –> 00:56:43,280
1358
00:56:43,440 –> 00:56:46,160
بنابراین ما اساساً اکنون کار را تمام کرده ایم،
1359
00:56:46,160 –> 00:56:48,559
بیایید یک پیام را چاپ کنیم تا
1360
00:56:48,559 –> 00:56:49,599
1361
00:56:49,599 –> 00:56:53,440
بدانیم آیا پیامی دریافت کرده ایم، بنابراین اینجا چاپ کنید
1362
00:56:53,440 –> 00:56:54,880
1363
00:56:54,880 –> 00:56:57,200
Sieve
1364
00:56:57,200 –> 00:57:00,160
in admin
1365
00:57:00,160 –> 00:57:02,640
بنابراین ما یک پیام دریافت کردیم و
1366
00:57:02,640 –> 00:57:04,960
1367
00:57:04,960 –> 00:57:08,480
اگر به hello آنجا برویم بدنه را اینجا چاپ می کنم
1368
00:57:08,480 –> 00:57:12,000
بنابراین این کار است حالا بیایید سعی کنیم ترمینال را باز
1369
00:57:12,000 –> 00:57:13,280
1370
00:57:13,280 –> 00:57:16,960
کنیم به فایل docker بروید بنابراین docker compose
1371
00:57:16,960 –> 00:57:18,720
exec
1372
00:57:18,720 –> 00:57:19,839
backend
1373
00:57:19,839 –> 00:57:21,440
sh
1374
00:57:21,440 –> 00:57:24,240
در اینجا باید با customers.pi تماس بگیرید بنابراین
1375
00:57:24,240 –> 00:57:25,520
python customers.pine
1376
00:57:25,520 –> 00:57:28,520
1377
00:57:28,640 –> 00:57:31,599
بنابراین ما این پیام ها را دریافت کردیم زیرا من
1378
00:57:31,599 –> 00:57:32,720
1379
00:57:32,720 –> 00:57:35,040
قبلاً برخی از رویدادهای آزمایشی را ارسال کرده بودم
1380
00:57:35,040 –> 00:57:38,079
اکنون بیایید آن را آزمایش کنیم
1381
00:57:38,079 –> 00:57:42,799
بیایید به مسیر محصولات
1382
00:57:42,799 –> 00:57:44,480
برویم و می توانیم انتظار داشته باشیم که وقتی
1383
00:57:44,480 –> 00:57:46,640
محصولات را در اینجا دریافت کردیم یک رویداد ارسال کنیم سلام
1384
00:57:46,640 –> 00:57:47,920
وجود دارد
1385
00:57:47,920 –> 00:57:50,240
ارسال
1386
00:57:50,559 –> 00:57:53,119
کنیم ما می توانیم حالا ببینید ما یک رویداد دریافت کردیم
1387
00:57:53,119 –> 00:57:55,200
سلام
1388
00:57:55,200 –> 00:57:58,079
حالا بیایید در برنامه flask مصرف کنیم بنابراین
1389
00:57:58,079 –> 00:58:00,400
کاری که من انجام خواهم داد این است که این فایل مصرف کننده را کپی
1390
00:58:00,400 –> 00:58:01,520
1391
00:58:01,520 –> 00:58:04,880
کنم به برنامه flask بروم و در اینجا
1392
00:58:04,880 –> 00:58:06,559
مصرف کننده را پیست کنم
1393
00:58:06,559 –> 00:58:08,799
تا همه چیز یکسان باشد به جز
1394
00:58:08,799 –> 00:58:11,359
صف اینجا
1395
00:58:11,359 –> 00:58:13,599
اصلی
1396
00:58:15,359 –> 00:58:17,440
باشد.
1397
00:58:17,440 –> 00:58:19,040
w
1398
00:58:19,040 –> 00:58:19,920
اکنون تمام شد
1399
00:58:19,920 –> 00:58:22,079
، می توانم،
1400
00:58:22,079 –> 00:58:24,160
بنابراین
1401
00:58:24,160 –> 00:58:28,559
می توانم آن را با pub پایتون
1402
00:58:28,559 –> 00:58:31,200
مصرف کننده
1403
00:58:31,359 –> 00:58:33,839
dot pi شروع کنم،
1404
00:58:33,920 –> 00:58:36,559
بنابراین ما شروع به مصرف کردیم
1405
00:58:36,559 –> 00:58:37,359
و
1406
00:58:37,359 –> 00:58:39,520
در سازنده
1407
00:58:39,520 –> 00:58:41,520
اینجا، کلید مسیریابی را به main تغییر می دهم،
1408
00:58:41,520 –> 00:58:43,280
1409
00:58:43,280 –> 00:58:44,720
1410
00:58:44,720 –> 00:58:46,880
بنابراین اکنون اینجا را در
1411
00:58:46,880 –> 00:58:49,520
برنامه مدیریت منتشر نمی کنم، اما اینجا منتشر می کنم در
1412
00:58:49,520 –> 00:58:50,799
برنامه اصلی
1413
00:58:50,799 –> 00:58:52,799
، بیایید ببینیم که آیا
1414
00:58:52,799 –> 00:58:54,960
این تفاوتی ایجاد میکند، بیایید رویداد را ارسال
1415
00:58:54,960 –> 00:58:56,559
1416
00:58:56,559 –> 00:59:00,799
کنیم، میتوانیم ببینیم hello از قبل بود،
1417
00:59:00,799 –> 00:59:02,640
اما
1418
00:59:02,640 –> 00:59:04,799
اکنون سلام را دریافت کرده است، بنابراین
1419
00:59:04,799 –> 00:59:07,839
برای دیدن تفاوت
1420
00:59:07,839 –> 00:59:11,520
hello main میگویم سلام اصلی،
1421
00:59:11,520 –> 00:59:14,640
پس بیایید دوباره آن را ارسال
1422
00:59:14,640 –> 00:59:16,799
کنیم. در اینجا یک سلام اصلی
1423
00:59:16,799 –> 00:59:18,880
را نمیبینیم، اما ما آن را اینجا خواهیم دید، بنابراین به این صورت است
1424
00:59:18,880 –> 00:59:19,839
1425
00:59:19,839 –> 00:59:21,839
که رویدادها
1426
00:59:21,839 –> 00:59:24,319
را با استفاده از pica و rabbitmq به برنامههای مختلف میفرستیم،
1427
00:59:24,319 –> 00:59:26,240
1428
00:59:26,240 –> 00:59:28,319
اکنون با موفقیت
1429
00:59:28,319 –> 00:59:30,839
ما را با rabbitmq متصل میکنیم و شروع به
1430
00:59:30,839 –> 00:59:32,319
مصرف کردن
1431
00:59:32,319 –> 00:59:34,880
با هر دو برنامهای که
1432
00:59:34,880 –> 00:59:37,200
اکنون نمیخواهیم داشته باشیم، کردیم.
1433
00:59:37,200 –> 00:59:40,319
برای شروع مصرفکننده همیشه به برگههای اینجا
1434
00:59:40,319 –> 00:59:41,119
1435
00:59:41,119 –> 00:59:44,240
میرویم، بنابراین اکنون فایل نوشتن docker را تغییر میدهیم،
1436
00:59:44,240 –> 00:59:45,359
ابتدا
1437
00:59:45,359 –> 00:59:47,280
اجازه دهید فایل docker را تغییر
1438
00:59:47,280 –> 00:59:51,280
دهیم، این دستور را در اینجا برش میدهیم
1439
00:59:51,280 –> 00:59:52,160
و
1440
00:59:52,160 –> 00:59:54,640
مستقیماً آن را در اینجا اضافه میکنیم،
1441
00:59:54,640 –> 00:59:56,160
بنابراین
1442
00:59:56,160 –> 00:59:57,599
هنگام ساخت
1443
00:59:57,599 –> 01:00:00,079
، دستوری را اجرا میکنیم
1444
01:00:00,079 –> 01:00:02,799
که ما فقط مس t پس
1445
01:00:02,799 –> 01:00:04,559
این اساساً مانند قبل
1446
01:00:04,559 –> 01:00:06,799
است که دستور را در اینجا اجرا می کنیم، اما اکنون
1447
01:00:06,799 –> 01:00:09,040
آن را در اینجا اجرا می
1448
01:00:09,040 –> 01:00:10,799
کنیم، این کار را انجام دادیم زیرا اکنون
1449
01:00:10,799 –> 01:00:11,920
یک
1450
01:00:11,920 –> 01:00:14,880
1451
01:00:14,880 –> 01:00:16,400
کانتینر دیگر ایجاد خواهیم کرد
1452
01:00:16,400 –> 01:00:19,920
1453
01:00:19,920 –> 01:00:22,880
.
1454
01:00:22,880 –> 01:00:26,640
اکنون دستوری را شروع می کنیم
1455
01:00:26,640 –> 01:00:30,880
و دستور پایتون
1456
01:00:31,839 –> 01:00:34,640
مصرف کننده نقطه pi
1457
01:00:34,640 –> 01:00:37,520
خواهد بود، بنابراین به جای اینکه هر بار به صورت دستی اجرا شود، دستور را مستقیماً در اینجا
1458
01:00:37,520 –> 01:00:40,000
اجرا می
1459
01:00:40,000 –> 01:00:41,040
کنیم،
1460
01:00:41,040 –> 01:00:44,640
این نیز به پایگاه داده بستگی دارد
1461
01:00:44,640 –> 01:00:46,240
زیرا بعداً داده ها را وارد می کنیم،
1462
01:00:46,240 –> 01:00:48,880
1463
01:00:48,880 –> 01:00:50,079
بنابراین بیایید
1464
01:00:50,079 –> 01:00:52,720
همین کار را برای فلاسک انجام دهیم. برنامه
1465
01:00:52,720 –> 01:00:54,880
بنابراین
1466
01:00:54,880 –> 01:00:58,799
من صف را اینجا می چسبانم
1467
01:00:59,839 –> 01:01:02,799
بنابراین این فایل یکسان است،
1468
01:01:02,799 –> 01:01:05,040
بنابراین تفاوت اکنون این است که
1469
01:01:05,040 –> 01:01:09,200
من این دستور را در اینجا برش
1470
01:01:09,680 –> 01:01:12,240
می
1471
01:01:12,240 –> 01:01:13,680
دهم و آن را در اینجا می
1472
01:01:13,680 –> 01:01:15,119
1473
01:01:15,119 –> 01:01:18,160
1474
01:01:18,160 –> 01:01:19,280
1475
01:01:19,280 –> 01:01:20,079
1476
01:01:20,079 –> 01:01:20,960
گذارم دستور python main api بنابراین اکنون بیایید همه کانتینرها را
1477
01:01:20,960 –> 01:01:22,240
مجدداً راه اندازی
1478
01:01:22,240 –> 01:01:25,119
کنیم تا docker compose up را اجرا کنم
1479
01:01:25,119 –> 01:01:26,720
1480
01:01:26,720 –> 01:01:28,000
1481
01:01:28,000 –> 01:01:29,520
1482
01:01:29,520 –> 01:01:31,359
1483
01:01:31,359 –> 01:01:34,559
اکنون build نیازی به تب دیگر نداریم،
1484
01:01:34,559 –> 01:01:36,880
بیایید همین کار را برای این کار انجام دهیم،
1485
01:01:36,880 –> 01:01:41,280
همچنین بیایید این تب را حذف کنیم و
1486
01:01:41,280 –> 01:01:42,880
1487
01:01:42,880 –> 01:01:43,920
1488
01:01:43,920 –> 01:01:44,960
1489
01:01:44,960 –> 01:01:46,720
همه کانتینرها را می سازیم اکنون در حال ساخت
1490
01:01:46,720 –> 01:01:48,640
صف هستیم
1491
01:01:48,640 –> 01:01:51,599
تا همانطور که می
1492
01:01:51,599 –> 01:01:55,200
بینیم در حال دریافت q هستیم پس q
1493
01:01:55,200 –> 01:01:58,400
اینجاست. o یکی دیگر از مواردی که میتوانیم انجام دهیم این
1494
01:01:58,400 –> 01:02:00,960
است که با اجرای آن به این صورت یک docker
1495
01:02:00,960 –> 01:02:02,480
compose
1496
01:02:02,480 –> 01:02:03,680
تا
1497
01:02:03,680 –> 01:02:05,280
منهای d
1498
01:02:05,280 –> 01:02:06,559
برای
1499
01:02:06,559 –> 01:02:08,960
پایگاه داده،
1500
01:02:08,960 –> 01:02:10,079
بنابراین d
1501
01:02:10,079 –> 01:02:13,119
به این معنی است که ما گزارشها را نمیبینیم،
1502
01:02:13,119 –> 01:02:15,760
بیایید همین کار را برای Backend
1503
01:02:15,760 –> 01:02:16,559
یا
1504
01:02:16,559 –> 01:02:18,640
برای Back End و صف مورد نیاز خود انجام دهیم.
1505
01:02:18,640 –> 01:02:20,720
برای دیدن
1506
01:02:20,720 –> 01:02:23,359
گزارشها، بنابراین اکنون گزارشها را
1507
01:02:23,359 –> 01:02:27,039
از صف میبینیم و از قسمت پشتی،
1508
01:02:27,039 –> 01:02:29,760
بیایید همین کار را در اینجا انجام دهیم،
1509
01:02:29,760 –> 01:02:30,640
بنابراین
1510
01:02:30,640 –> 01:02:33,359
منهای d اینجا db
1511
01:02:33,359 –> 01:02:37,119
و docker compose up
1512
01:02:39,039 –> 01:02:42,400
اکنون بیایید ببینیم آیا این کار میکند، بنابراین
1513
01:02:42,400 –> 01:02:45,280
ما محصولات اینجا هستیم، دوباره درخواست را ارسال کنیم
1514
01:02:45,280 –> 01:02:48,000
ما آن را در اینجا
1515
01:02:48,000 –> 01:02:50,960
نخواهیم دید، اما باید آن را در اینجا ببینیم،
1516
01:02:50,960 –> 01:02:54,160
همچنین تغییر دیگری که باید انجام
1517
01:02:54,160 –> 01:02:56,160
دهیم اگر
1518
01:02:56,160 –> 01:02:59,200
کانتینرهای خود را ببندیم و دوباره آنها را اجرا
1519
01:02:59,200 –> 01:03:02,480
کنیم، متوجه خواهیم شد، بنابراین اگر من این کار را با
1520
01:03:02,480 –> 01:03:04,400
پایگاه داده ای مانند این انجام دهم
1521
01:03:04,400 –> 01:03:06,079
و بقیه آن ها را
1522
01:03:06,079 –> 01:03:08,319
دو برابر کنید.
1523
01:03:08,319 –> 01:03:11,200
متوجه خواهید شد که من
1524
01:03:11,200 –> 01:03:14,160
هنوز نشانه ها را دریافت خواهم کرد اما
1525
01:03:14,160 –> 01:03:16,559
آنها هنوز مصرف نشده اند، بنابراین
1526
01:03:16,559 –> 01:03:18,720
آخرین تغییری وجود دارد که باید
1527
01:03:18,720 –> 01:03:21,359
در مصرف کننده خود اضافه کنیم
1528
01:03:21,359 –> 01:03:24,559
و در اینجا باید ack true را اضافه کنیم
1529
01:03:24,559 –> 01:03:26,960
1530
01:03:27,760 –> 01:03:30,720
بنابراین با این کار
1531
01:03:30,720 –> 01:03:32,160
1532
01:03:32,160 –> 01:03:35,599
تماس ها را مصرف خواهیم کرد و ما آنها را دوباره دریافت نخواهم کرد، بنابراین
1533
01:03:35,599 –> 01:03:38,640
بیایید همین کار را برای
1534
01:03:38,640 –> 01:03:40,960
شرکت دیگر انجام دهیم nsumer
1535
01:03:40,960 –> 01:03:44,880
و اجازه دهید کانتینرها را دوباره با build راه اندازی مجدد کنیم،
1536
01:03:44,880 –> 01:03:47,280
1537
01:03:47,280 –> 01:03:50,160
همچنین این یکی
1538
01:03:50,559 –> 01:03:53,119
ساخته می شود،
1539
01:03:54,400 –> 01:03:56,559
بنابراین
1540
01:03:56,559 –> 01:03:58,720
اگر همین کار را
1541
01:03:58,720 –> 01:04:01,760
با دیتابیس انجام
1542
01:04:01,760 –> 01:04:04,799
دهیم و سایر برنامه ها را راه اندازی
1543
01:04:04,799 –> 01:04:06,720
کنیم، خواهیم دید که صف شروع به
1544
01:04:06,720 –> 01:04:09,280
مصرف می کند، اما ما نمی توانیم چیزی در اینجا ببینیم،
1545
01:04:09,280 –> 01:04:10,880
1546
01:04:10,880 –> 01:04:12,720
پس همین است. اکنون
1547
01:04:12,720 –> 01:04:15,440
با مصرف این تغییرات
1548
01:04:15,440 –> 01:04:19,039
آسان تر می شود،
1549
01:04:19,039 –> 01:04:22,160
اکنون می خواهیم هر بار که یک
1550
01:04:22,160 –> 01:04:25,359
محصول ایجاد می شود رویدادها را به روز یا حذف
1551
01:04:25,359 –> 01:04:28,799
می کنیم، بنابراین باید این روش انتشار را تغییر
1552
01:04:28,799 –> 01:04:31,760
دهیم، در اینجا یک متد و یک بدنه اضافه می کنیم،
1553
01:04:31,760 –> 01:04:34,480
1554
01:04:35,119 –> 01:04:36,400
بنابراین
1555
01:04:36,400 –> 01:04:38,160
برای متد
1556
01:04:38,160 –> 01:04:40,000
باید
1557
01:04:40,000 –> 01:04:42,559
ویژگی های متغیر ایجاد کنیم.
1558
01:04:42,559 –> 01:04:45,359
که برابر با
1559
01:04:45,359 –> 01:04:46,960
1560
01:04:46,960 –> 01:04:48,319
خصوصیات پایه pica است
1561
01:04:48,319 –> 01:04:52,240
و در اینجا یک متد
1562
01:04:52,240 –> 01:04:55,280
ارسال می کنیم و در اینجا ویژگی ها
1563
01:04:55,280 –> 01:04:58,400
برابر با
1564
01:04:58,640 –> 01:05:01,839
ویژگی های بدنه است بنابراین باید
1565
01:05:01,839 –> 01:05:04,559
json را در اینجا وارد کنیم
1566
01:05:04,559 –> 01:05:06,640
و بدنه json dumps body خواهد بود
1567
01:05:06,640 –> 01:05:08,960
1568
01:05:08,960 –> 01:05:10,240
1569
01:05:10,240 –> 01:05:12,319
1570
01:05:12,319 –> 01:05:14,720
بنابراین ما اشیاء را ارسال خواهیم کرد. یا هر چیزی غیر
1571
01:05:14,720 –> 01:05:17,440
از اینکه باید قبل از ارسال آن را به json تبدیل کنیم
1572
01:05:17,440 –> 01:05:18,960
،
1573
01:05:18,960 –> 01:05:22,240
بنابراین این تابع انتشار ما است، حالا
1574
01:05:22,240 –> 01:05:24,559
بیایید از آن برای دیدگاه های خود استفاده کنیم،
1575
01:05:24,559 –> 01:05:26,960
اجازه دهید این انتشار را در اینجا حذف کنیم
1576
01:05:26,960 –> 01:05:27,920
و حالا
1577
01:05:27,920 –> 01:05:29,280
وقتی ایجاد
1578
01:05:29,280 –> 01:05:31,680
کردیم، منتشر می کنیم محصول h
1579
01:05:31,680 –> 01:05:32,960
1580
01:05:32,960 –> 01:05:34,720
ایجاد شد
1581
01:05:34,720 –> 01:05:37,440
و ما داده ها را برای لیزر سریال ارسال می کنیم.
1582
01:05:37,440 –> 01:05:39,839
1583
01:05:40,240 –> 01:05:44,079
بیایید همین کار را برای محصول به روز شده
1584
01:05:44,079 –> 01:05:45,200
محصول
1585
01:05:45,200 –> 01:05:47,200
به روز شده انجام دهیم
1586
01:05:47,200 –> 01:05:51,400
و برای محصول حذف شده
1587
01:05:51,920 –> 01:05:54,319
اکنون به جای شیء، مستقیماً کلید اصلی را ارسال می کنیم،
1588
01:05:54,319 –> 01:05:57,680
1589
01:05:57,760 –> 01:05:59,920
بنابراین اینها رویدادهای اصلی هستند که می
1590
01:05:59,920 –> 01:06:02,000
خواهیم ارسال کنیم.
1591
01:06:02,000 –> 01:06:04,240
و حالا بیایید تغییراتی را در برنامه flask
1592
01:06:04,240 –> 01:06:05,760
1593
01:06:05,760 –> 01:06:09,359
در اینجا ایجاد کنیم، باید
1594
01:06:09,359 –> 01:06:12,240
داده ای را که برابر با
1595
01:06:12,240 –> 01:06:16,319
json است دریافت کنیم، بنابراین من json را در اینجا وارد می کنم json بارگذاری بدن را وارد می کنم،
1596
01:06:17,039 –> 01:06:19,359
1597
01:06:19,359 –> 01:06:21,839
1598
01:06:21,839 –> 01:06:23,200
1599
01:06:23,200 –> 01:06:24,000
بنابراین
1600
01:06:24,000 –> 01:06:26,480
در برنامه django آن را به
1601
01:06:26,480 –> 01:06:31,119
json تبدیل می کنیم، بنابراین اکنون آن را دوباره تبدیل می
1602
01