در این مطلب، ویدئو آموزش شماره 4 Python Flask: استفاده از SQLAlchemy برای ایجاد مدل | دوره سقوط فلاسک برای مبتدیان با زیرنویس فارسی را برای دانلود قرار داده ام. شما میتوانید با پرداخت 15 هزار تومان ، این ویدیو به علاوه تمامی فیلم های سایت را دانلود کنید.اکثر فیلم های سایت به زبان انگلیسی می باشند. این ویدئو دارای زیرنویس فارسی ترجمه شده توسط هوش مصنوعی می باشد که میتوانید نمونه ای از آن را در قسمت پایانی این مطلب مشاهده کنید.
مدت زمان فیلم: 00:27:55
تصاویر این ویدئو:
قسمتی از زیرنویس این فیلم:
00:00:00,030 –> 00:00:03,330
و این ویدیو من می خواهم یک Moodle ایجاد کنم
2
00:00:03,330 –> 00:00:06,029
که داده ها در یک پایگاه داده ذخیره می شوند
3
00:00:06,029 –> 00:00:09,570
و برای مقابله با پایگاه های داده می
4
00:00:09,570 –> 00:00:13,200
خواهم از SQL alchemy استفاده کنم یا سیستم هستم
5
00:00:13,200 –> 00:00:15,990
بیایید پسوند flask SQL alchemy را نصب کنیم
6
00:00:15,990 –> 00:00:28,470
اکنون فایل پیکربندی py را باز می کنم
7
00:00:28,470 –> 00:00:34,649
و در کلاس config من در
8
00:00:34,649 –> 00:00:37,890
حال ایجاد یک ویژگی کلاس جدید
9
00:00:37,890 –> 00:00:45,629
پایگاه داده کیمیاگری SQL شما هستید من باید
10
00:00:45,629 –> 00:00:49,800
با حروف بزرگ باشد من از میانبر خود برای
11
00:00:49,800 –> 00:00:53,370
بزرگ کردن آن استفاده کردم و مقدار این
12
00:00:53,370 –> 00:00:56,160
ویژگی به صورت زیر خواهد بود اول از
13
00:00:56,160 –> 00:00:58,949
همه باید پایگاه داده ای را که استفاده خواهم کرد را مشخص کنم.
14
00:00:58,949 –> 00:01:01,500
من می خواهم از
15
00:01:01,500 –> 00:01:03,930
پایگاه داده SQLite استفاده کنم بنابراین باید
16
00:01:03,930 –> 00:01:10,290
SQLite بیاید و سه اسلش و
17
00:01:10,290 –> 00:01:13,409
سپس نام و مکان پایگاه داده ای که
18
00:01:13,409 –> 00:01:16,590
می خواهم از پایگاه داده SQLite استفاده کنم فقط
19
00:01:16,590 –> 00:01:20,340
یک فایل است به همین دلیل
20
00:01:20,340 –> 00:01:22,920
باید مسیر مطلق فایل پایگاه داده را مشخص کنم و
21
00:01:22,920 –> 00:01:26,280
ما میتوانیم در اینجا از همان ایده مانند
22
00:01:26,280 –> 00:01:30,290
Jenga استفاده کنیم و اول از همه باید
23
00:01:30,290 –> 00:01:37,729
مدل ما را وارد کنم و متغیر پایه veer ایجاد
24
00:01:37,729 –> 00:01:41,909
میکنم که مقدار اسب مسیر زیر را به دست میآورد
25
00:01:41,909 –> 00:01:46,079
که باید مسیر مطلق
26
00:01:46,079 –> 00:01:49,140
فایل پیکربندی py را دریافت کنم اگر
27
00:01:49,140 –> 00:01:53,490
تابع مسیر Apps و متغیر نام
28
00:01:53,490 –> 00:01:56,700
به عنوان آرگومان تابع مسیر apps
29
00:01:56,700 –> 00:01:59,310
مسیر مطلق را به فایل پیکربندی py به این صورت برمی گرداند
30
00:01:59,310 –> 00:02:06,659
و من باید
31
00:02:06,659 –> 00:02:09,209
یک مسیر مطلق به دایرکتوری دریافت کنم
32
00:02:09,209 –> 00:02:11,800
که حاوی مایکل است
33
00:02:11,800 –> 00:02:16,410
– پروژه خود را فایل می کنم و می توانم آن را با آن انجام دهم. از
34
00:02:16,410 –> 00:02:21,730
دست دادن تابع نام شما که
35
00:02:21,730 –> 00:02:28,240
این رشته را برمی گرداند و در اینجا من فقط
36
00:02:28,240 –> 00:02:33,460
متد join را فراخوانی می کنم و به هر
37
00:02:33,460 –> 00:02:37,810
فاز می پردازم label عزیز و نام
38
00:02:37,810 –> 00:02:41,620
پایگاه داده من فرض کنید که بعداً
39
00:02:41,620 –> 00:02:51,220
فایل DB پایه خواهد بود سپس در فایل app py من
40
00:02:51,220 –> 00:02:57,660
SQL alchemy class flask
41
00:02:57,660 –> 00:03:04,530
underscore SQL alchemy import SQL
42
00:03:04,530 –> 00:03:10,600
alchemy SQL alchemy یک سیستم ORM است
43
00:03:10,600 –> 00:03:13,270
و مخفف
44
00:03:13,270 –> 00:03:15,910
نگاشت رابطه ای شیء
45
00:03:15,910 –> 00:03:19,090
است.
46
00:03:19,090 –> 00:03:22,540
47
00:03:22,540 –> 00:03:25,810
48
00:03:25,810 –> 00:03:29,200
m یک لایه اضافی از
49
00:03:29,200 –> 00:03:31,959
منطق انتزاعی تر بر روی یک زبان SQL خاص
50
00:03:31,959 –> 00:03:35,980
است و RM به ما کمک می کند تا
51
00:03:35,980 –> 00:03:38,620
داده هایی را که می خواهیم در
52
00:03:38,620 –> 00:03:41,920
پایگاه داده با کلاس های Python و این
53
00:03:41,920 –> 00:03:45,520
کلاس ها ذخیره کنیم، توصیف کنیم. مدلها را دوباره نامیده میشوند و اکنون
54
00:03:45,520 –> 00:03:48,459
میخواهم نمونهای از کلاس کیمیاگری SQL ایجاد
55
00:03:48,459 –> 00:03:55,450
کنم، فکر میکنم که آن متغیر GB خواهد بود
56
00:03:55,450 –> 00:04:01,060
و من در حال انتقال به سازنده آن هستم.
57
00:04:01,060 –> 00:04:05,230
58
00:04:05,230 –> 00:04:10,360
59
00:04:10,360 –> 00:04:14,440
از شر
60
00:04:14,440 –> 00:04:17,488
این یکی خلاص شوید و ما باید به صراحت
61
00:04:17,488 –> 00:04:21,689
تغییرات مسیر SQL را
62
00:04:23,970 –> 00:04:30,630
در فایل پیکربندی py تنظیم کنیم، باید آن را
63
00:04:30,630 –> 00:04:33,580
به طور صریح روی true یا
64
00:04:33,580 –> 00:04:36,910
65
00:04:36,910 –> 00:04:42,610
false تنظیم
66
00:04:42,610 –> 00:04:49,420
کنم. سرور دوباره و دیگر
67
00:04:49,420 –> 00:04:55,210
این یکی وجود ندارد خوب اکنون می
68
00:04:55,210 –> 00:05:04,330
توانم متغیر DB خود را به فایل اصلی py وارد کنم سپس
69
00:05:04,330 –> 00:05:07,600
در دایرکتوری ریشه پروژه خود
70
00:05:07,600 –> 00:05:14,070
مدل ها را با مدل های فایل خود
71
00:05:14,070 –> 00:05:19,480
از DB import برنامه ایجاد می کنم. به نمونه SQL alchemy نیاز دارم.
72
00:05:19,480 –> 00:05:23,680
و سپس میتوانم
73
00:05:23,680 –> 00:05:26,680
کلاس پایتون ایجاد کنم که دادههای
74
00:05:26,680 –> 00:05:32,640
پستهای من را ذخیره میکند، در کلاس پست قرار میگیرد، یک
75
00:05:32,640 –> 00:05:37,720
زیر کلاس از کلاس مدل، همه
76
00:05:37,720 –> 00:05:40,660
رکوردهای پایگاه داده دارای شناسه منحصربهفرد
77
00:05:40,660 –> 00:05:45,280
کلید اصلی pk هستند، یک عدد به طور خودکار
78
00:05:45,280 –> 00:05:48,160
افزایش مییابد که میتوانیم استفاده کنید برای
79
00:05:48,160 –> 00:05:52,240
شناسایی یک رکورد در پایگاه داده، بنابراین
80
00:05:52,240 –> 00:05:54,970
اولین ستون جدول پست
81
00:05:54,970 –> 00:06:00,520
شناسه خواهد بود، نمونه ای از کلاس ستون است
82
00:06:00,520 –> 00:06:04,330
، اولین آرگومان نوع داده
83
00:06:04,330 –> 00:06:07,720
است، آن عدد صحیح خواهد بود، من می خواهم
84
00:06:07,720 –> 00:06:15,220
شناسه را به عنوان کلید اصلی تنظیم کنم true سپس
85
00:06:15,220 –> 00:06:20,430
هر پست یک عنوان خواهد داشت که
86
00:06:20,430 –> 00:06:23,350
نوع داده یک رشته است
87
00:06:23,350 –> 00:06:28,560
که حداکثر طول آن 140 کاراکتر خواهد بود،
88
00:06:28,560 –> 00:06:38,380
سپس این گزارش به همین ترتیب است، اما
89
00:06:38,380 –> 00:06:42,940
شل بودن منحصر به فرد خواهد بود، فیلد شل یک
90
00:06:42,940 –> 00:06:47,050
URL قابل خواندن برای انسان است و URL ها باید
91
00:06:47,050 –> 00:06:49,510
منحصر به فرد باشند در غیر این صورت می توانیم تداخل داشته باشیم
92
00:06:49,510 –> 00:06:57,550
و سپس یک پست یک بدنه خواهد داشت، فقط یک
93
00:06:57,550 –> 00:07:04,110
متن و تاریخ ایجاد
94
00:07:04,110 –> 00:07:15,280
آن است. من می خواهم در
95
00:07:15,280 –> 00:07:23,130
ماژول زمان تاریخ وارد کنم، من به زمان تاریخ نیاز دارم و
96
00:07:23,940 –> 00:07:30,630
مقدار پیش فرض در واقع زمان خواهد بود اکنون
97
00:07:30,630 –> 00:07:34,300
تابع من ویژگی های کلاس را تعریف می کنم
98
00:07:34,300 –> 00:07:36,400
و اکنون باید تعریف کنم
99
00:07:36,400 –> 00:07:43,480
سازنده کلاس post متد init
100
00:07:43,480 –> 00:07:47,460
که خودش و برخی
101
00:07:47,460 –> 00:07:53,680
آرگومان های موقعیتی و کلیدواژه را می گیرد، سپس می
102
00:07:53,680 –> 00:07:56,620
خواهم سازنده کلاس
103
00:07:56,620 –> 00:08:00,010
modal را بنام کلاس modal ابرکلاس
104
00:08:00,010 –> 00:08:04,050
مدل post است، بنابراین من تابع super را می
105
00:08:04,050 –> 00:08:10,110
نامم. سپس متد init را فراخوانی
106
00:08:10,110 –> 00:08:14,170
میکنم و فقط وارد میشوم تا
107
00:08:14,170 –> 00:08:17,260
آرگومانهای ممیزی موقعیتی و صفی کلاس پستی را
108
00:08:17,260 –> 00:08:21,070
که دریافت میکند بخورم و همچنین باید
109
00:08:21,070 –> 00:08:23,980
این قفل را تولید کنم بنابراین یک
110
00:08:23,980 –> 00:08:30,190
تابع تولید اسلاگ را فراخوانی میکنم که
111
00:08:30,190 –> 00:08:32,430
112
00:08:33,809 –> 00:08:43,450
اگر خودش به صورت زیر باشد. عنوان self Spock خواهد بود و من
113
00:08:43,450 –> 00:08:47,740
تابع sluggy fire را فراخوانی میکنم
114
00:08:47,740 –> 00:08:50,800
که عنوان پست را به عنوان یک
115
00:08:50,800 –> 00:08:53,650
آرگومان میگیرد، میخواهم در اینجا از آن استفاده کنم که مانند
116
00:08:53,650 –> 00:08:56,020
یک تابع Phi است، زیرا
117
00:08:56,020 –> 00:08:59,050
کمی دیرتر به همان رفتار برای مدل برچسب
118
00:08:59,050 –> 00:09:02,140
نیاز خواهم داشت. تابع جداگانه،
119
00:09:02,140 –> 00:09:08,320
بیایید آن را در اینجا تعریف کنیم، مانند این است
120
00:09:08,320 –> 00:09:11,350
که اگر یک تابع مقداری رشته را به عنوان
121
00:09:11,350 –> 00:09:15,430
آرگومان بگیرد و برای
122
00:09:15,430 –> 00:09:20,530
مدتی بگذرد، من نیاز به اعتبارسنجی رد دارم، من دوست دارم
123
00:09:20,530 –> 00:09:26,920
101 را رد کنم، بنابراین این رشته پایتون،
124
00:09:26,920 –> 00:09:34,200
رشته ها تعدادی عنوان خواهند بود که اولین ارسال پست
125
00:09:34,500 –> 00:09:43,990
اول پست دوم باشد. پست سوم و
126
00:09:43,990 –> 00:09:47,980
اکنون باید یورو را از این
127
00:09:47,980 –> 00:09:51,190
عناوین تولید کنم، یک URL نباید دارای
128
00:09:51,190 –> 00:09:54,430
علامت های نقطه گذاری و کاراکترهای خاص باشد
129
00:09:54,430 –> 00:09:57,250
و همه این کاراکترها باید
130
00:09:57,250 –> 00:10:02,020
با زیرخط ظروف جایگزین شوند. من می
131
00:10:02,020 –> 00:10:05,130
خواهم از یک e معمولی استفاده کنم. xpression برای پیدا کردن همه
132
00:10:05,130 –> 00:10:07,900
کاراکترهای نامطلوب و سپس
133
00:10:07,900 –> 00:10:13,240
جایگزینی آنها به طوری که عبارت منظم من
134
00:10:13,240 –> 00:10:15,700
به صورت زیر خواهد بود. من به یک گروه از
135
00:10:15,700 –> 00:10:18,960
نمادها نیاز دارم، بنابراین من از براکت استفاده می کنم،
136
00:10:18,960 –> 00:10:24,700
سپس w xh w به معنای حروف
137
00:10:24,700 –> 00:10:28,840
روی نمرات به صورت رقمی و به علاوه به اضافه به معنای
138
00:10:28,840 –> 00:10:32,170
مقدار بی نهایت است. از کاراکترها و ما میتوانیم
139
00:10:32,170 –> 00:10:35,350
ببینیم که این عبارت منظم
140
00:10:35,350 –> 00:10:39,340
همه چیزهایی را که من باید در URL داشته باشم
141
00:10:39,340 –> 00:10:42,700
پیدا میکند و برای معکوس کردن نتیجه جستجو باید از
142
00:10:42,700 –> 00:10:44,529
کاراکتر فعلی
143
00:10:44,529 –> 00:10:48,789
قبل از عبارت معمولی خود استفاده کنم و از
144
00:10:48,789 –> 00:10:52,659
معنی فعلی استفاده کنم به جز بنابراین من به همه کاراکترها نیاز دارم به
145
00:10:52,659 –> 00:10:58,589
جز این.
146
00:10:58,589 –> 00:11:06,219
عبارت منظم من اجازه دهید ماژول بیان Raider را وارد کنیم
147
00:11:06,219 –> 00:11:10,509
E هستند و من به یک الگو نیاز دارم که
148
00:11:10,509 –> 00:11:18,279
رشته خام خواهد بود و این
149
00:11:18,279 –> 00:11:21,339
عبارت منظم من
150
00:11:21,339 –> 00:11:25,089
تابع فایل slugga نتیجه بازسازی جایگزینی را برمی گرداند
151
00:11:25,089 –> 00:11:30,099
یک تابع فرعی
152
00:11:30,099 –> 00:11:33,609
دارد، یک تابع جایگزینی است که در آن
153
00:11:33,609 –> 00:11:37,779
آرگومان اول است. چه چیزی را پیدا کنم.
154
00:11:37,779 –> 00:11:41,529
155
00:11:41,529 –> 00:11:44,709
156
00:11:44,709 –> 00:11:47,919
157
00:11:47,919 –> 00:11:51,309
در من فکر می کنم که استفاده خواهم کرد
158
00:11:51,309 –> 00:11:57,249
– و آرگومان سوم آگاه است که می خواهم
159
00:11:57,249 –> 00:12:01,659
آن را پیدا کنم که به عنوان رشته خواهد بود و
160
00:12:01,659 –> 00:12:06,220
تنها تابع slugga phi آن یک اسلاگ را برمی گرداند
161
00:12:06,220 –> 00:12:12,099
که می خواهم از آن استفاده کنم Okay و چه
162
00:12:12,099 –> 00:12:16,239
اتفاقی می افتد اگر عنوان self نیست اگر وجود داشته باشد
163
00:12:16,239 –> 00:12:22,569
بدون عنوان سلول اسلاگ برابر خواهد بود
164
00:12:22,569 –> 00:12:27,309
و در اینجا من می خواهم از زمان نزدیک شدن
165
00:12:27,309 –> 00:12:30,849
در زمان و ثانیه های سپری شده از
166
00:12:30,849 –> 00:12:35,889
اول ژانویه 1970 استفاده کنم تا بتوانم آن
167
00:12:35,889 –> 00:12:38