در این مطلب، ویدئو 62 – سفارشیسازی فیلدهای فرم، ابزارکها، مکانگردانها و CSS – سری آموزشی Python & Django 3.2 با زیرنویس فارسی را برای دانلود قرار داده ام. شما میتوانید با پرداخت 15 هزار تومان ، این ویدیو به علاوه تمامی فیلم های سایت را دانلود کنید.اکثر فیلم های سایت به زبان انگلیسی می باشند. این ویدئو دارای زیرنویس فارسی ترجمه شده توسط هوش مصنوعی می باشد که میتوانید نمونه ای از آن را در قسمت پایانی این مطلب مشاهده کنید.
مدت زمان فیلم: 00:12:17
تصاویر این ویدئو:
قسمتی از زیرنویس این فیلم:
00:00:00,080 –> 00:00:01,520
بسیار خوب، بنابراین اکنون می خواهیم در مورد
2
00:00:01,520 –> 00:00:04,880
سفارشی کردن فیلدهای فرم جنگو صحبت کنیم که
3
00:00:04,880 –> 00:00:07,120
در برخی ویجت ها اضافه می شوند، شاید برخی از
4
00:00:07,120 –> 00:00:10,240
عناصر html مانند متغیرهای
5
00:00:10,240 –> 00:00:12,160
کلاس های css و id را اضافه
6
00:00:12,160 –> 00:00:14,400
کنیم تا این کار را انجام دهیم، ما واقعاً فقط می
7
00:00:14,400 –> 00:00:17,279
خواهیم بیشتر در فرم ها کار کنیم. سلام
8
00:00:17,279 –> 00:00:19,039
و من می گویم این است بسیاری از
9
00:00:19,039 –> 00:00:21,199
مطالب مرتبط با مرجع، اما
10
00:00:21,199 –> 00:00:23,359
هنوز هم خوب است که آن را در عمل مشاهده کنید،
11
00:00:23,359 –> 00:00:25,039
دلیل مرتبط بودن آن با مرجع این است که
12
00:00:25,039 –> 00:00:26,880
13
00:00:26,880 –> 00:00:30,320
فرم های جنگو بسیار زیاد است که نمی توانم
14
00:00:30,320 –> 00:00:31,840
بدون صرف ساعت ها همه آنها را پوشش دهم
15
00:00:31,840 –> 00:00:34,239
و همچنین
16
00:00:34,239 –> 00:00:36,640
معمولاً اینطور نیست. که اکنون برای پوشش دادن همه آن عملی است،
17
00:00:36,640 –> 00:00:38,480
در این مورد، اجازه دهید جلو برویم
18
00:00:38,480 –> 00:00:40,640
و به شکل های بالا بپریم
19
00:00:40,640 –> 00:00:43,600
و بیایید در اولین سفارشی سازی خود اضافه کنیم
20
00:00:43,600 –> 00:00:45,440
این در واقع یک کلاس بسیار ساده است و
21
00:00:45,440 –> 00:00:49,120
این کلاس css مورد نیاز است، بنابراین
22
00:00:49,120 –> 00:00:51,039
هر کلاسی که می خواهیم به آن اضافه کنیم
23
00:00:51,039 –> 00:00:53,600
فرم ما برای فیلدهای الزامی است، بنابراین
24
00:00:53,600 –> 00:00:56,480
چیزی مانند فیلد الزامی درست است و
25
00:00:56,480 –> 00:00:59,199
معمولاً با کلاسهای css و برعکس،
26
00:00:59,199 –> 00:01:02,079
میدانید کلاسهای پایتون کلاسهای css
27
00:01:02,079 –> 00:01:04,000
دارای خط تیره بین آنها نیستند،
28
00:01:04,000 –> 00:01:06,880
بنابراین قطعاً این کار را انجام
29
00:01:06,880 –> 00:01:09,360
نده خیلی خوب، پس حالا ما این را ذخیره می کنیم و اجازه
30
00:01:09,360 –> 00:01:12,880
دهید به نمای خود در اینجا بازگردیم، نمای رندر شده
31
00:01:12,880 –> 00:01:14,960
برای نمای ایجاد ما
32
00:01:14,960 –> 00:01:16,479
، دلیل اینکه من از نمای ایجاد استفاده می کنم این است که
33
00:01:16,479 –> 00:01:18,799
همه چیز را ساده کنم و اگر
34
00:01:18,799 –> 00:01:20,880
عنصر را با کلیک راست بر روی آن بررسی کنیم. هر
35
00:01:20,880 –> 00:01:23,759
عنصر داده شده یا مشاهده منبع مشاهده برنامهنویس،
36
00:01:23,759 –> 00:01:25,520
یکی
37
00:01:25,520 –> 00:01:27,680
را میتوانید
38
00:01:27,680 –> 00:01:29,280
اکنون
39
00:01:29,280 –> 00:01:33,280
در تگ p که خود فیلد واقعی را احاطه میکند،
40
00:01:33,280 –> 00:01:35,360
که دارای برچسب و
41
00:01:35,360 –> 00:01:36,640
نام ورودی است، آن کلاس فیلد مورد نیاز را مشاهده کنید،
42
00:01:36,640 –> 00:01:38,159
بنابراین بسیار جالب است، واقعاً بسیار
43
00:01:38,159 –> 00:01:39,840
ساده است، حالا یکی دیگر وجود دارد که من
44
00:01:39,840 –> 00:01:41,439
واقعاً آزمایش نمیکنم که
45
00:01:41,439 –> 00:01:43,920
فقط کلاس خطای css است
46
00:01:43,920 –> 00:01:46,399
و شما میتوانید فیلد خطا را چیزی
47
00:01:46,399 –> 00:01:47,920
شبیه به آن بگویید و در واقع
48
00:01:47,920 –> 00:01:51,040
کلاس خطا را نیز به شما نشان میدهد وقتی
49
00:01:51,040 –> 00:01:52,479
خطایی رخ میدهد،
50
00:01:52,479 –> 00:01:54,240
بنابراین این واقعاً ساده است اکنون سؤال
51
00:01:54,240 –> 00:01:56,079
این است که چگونه من در واقع این کار را انجام می دهم تا
52
00:01:56,079 –> 00:01:57,840
بگوییم یک فیلد توضیحات یا هر یک از
53
00:01:57,840 –> 00:01:59,840
فیلدهای دیگر من، خوب یکی از راه هایی که
54
00:01:59,840 –> 00:02:01,280
می توانید آن را انجام دهید، اجازه دهید با فیلد نام شروع
55
00:02:01,280 –> 00:02:02,719
کنیم که در واقع می توانیم وارد شویم و
56
00:02:02,719 –> 00:02:05,680
فرم ها را انجام دهیم فیلد نقطه char
57
00:02:05,680 –> 00:02:07,840
و آنچه من باید به این
58
00:02:07,840 –> 00:02:10,318
فیلد کاراکتر ربط داشته باشم این است که باید یک ویجت اضافه کنم
59
00:02:10,318 –> 00:02:13,040
تا ویجت همان چیزی باشد که در واقع
60
00:02:13,040 –> 00:02:14,560
61
00:02:14,560 –> 00:02:17,599
در خود نمای نمایش داده می شود، بنابراین در این مورد به
62
00:02:17,599 –> 00:02:19,760
شکل فیلد ورودی نقطه
63
00:02:19,760 –> 00:02:20,800
است،
64
00:02:20,800 –> 00:02:23,120
اکنون ممکن است به خاطر سپردن درست
65
00:02:23,120 –> 00:02:24,480
آن سخت باشد، بنابراین ممکن است سخت نباشد. به یاد داشته باشید
66
00:02:24,480 –> 00:02:26,959
که دقیقاً از چه ویجتی استفاده می شود، به
67
00:02:26,959 –> 00:02:29,120
همین دلیل نیز بسیار مفید است که
68
00:02:29,120 –> 00:02:31,680
به مرجع مراجعه کنید و
69
00:02:31,680 –> 00:02:34,800
همه ویجت های داخلی را پیدا کنید، بنابراین ورودی متن یکی از
70
00:02:34,800 –> 00:02:38,080
آنها است که فیلد ورودی درست نیست، بنابراین باز هم
71
00:02:38,080 –> 00:02:40,720
دلیل دیگری برای بررسی همیشه
72
00:02:40,720 –> 00:02:43,599
مستندات چون به خاطر سپردن
73
00:02:43,599 –> 00:02:45,280
همه این موارد
74
00:02:45,280 –> 00:02:47,360
برای من فیلد ورودی منطقی نیست، در واقع
75
00:02:47,360 –> 00:02:50,239
76
00:02:50,239 –> 00:02:52,400
به دلیل نحوه عملکرد عنصر html کمی بیشتر از ورودی متن منطقی است،
77
00:02:52,400 –> 00:02:54,239
اما لایههای دیگری وجود دارد که
78
00:02:54,239 –> 00:02:56,640
باید آنها را اضافه کنید تا فقط یک متن بسازید. ورودی
79
00:02:56,640 –> 00:02:59,599
بنابراین آنها آن را فقط به ورودی متن میانبر می کنند
80
00:02:59,599 –> 00:03:01,760
و بنابراین برای تغییر کلاس در اینجا کاری که
81
00:03:01,760 –> 00:03:04,000
می توانیم انجام دهیم این است که می توانیم یک نمونه
82
00:03:04,000 –> 00:03:06,560
از ورودی متن را مقداردهی اولیه کنیم و سپس می توانیم
83
00:03:06,560 –> 00:03:10,560
ویژگی ها یا att rs و هر
84
00:03:10,560 –> 00:03:12,959
ویژگی html را که می خواهیم ارسال کنیم.
85
00:03:12,959 –> 00:03:15,280
اگر کلاس را در اینجا انجام دادم،
86
00:03:15,280 –> 00:03:17,599
مثلاً فرم dash control که یک
87
00:03:17,599 –> 00:03:19,840
کلاس بوت استرپ است، چیزی که من
88
00:03:19,840 –> 00:03:21,599
هنوز مشخص نکرده ام
89
00:03:21,599 –> 00:03:23,920
اما اکنون راهی برای اضافه کردن در آن
90
00:03:23,920 –> 00:03:26,319
کلاس داریم، به عنوان مثال فرم dash control را بگوییم.
91
00:03:26,319 –> 00:03:27,840
در اینجا
92
00:03:27,840 –> 00:03:30,720
بیایید به جلو برویم و همه چیز را ذخیره کنیم و
93
00:03:30,720 –> 00:03:32,720
اوه این باید
94
00:03:32,720 –> 00:03:35,200
فرم
95
00:03:35,200 –> 00:03:36,799
هایی باشد که در اینجا می گویند
96
00:03:36,799 –> 00:03:39,120
و حالا اگر وارد
97
00:03:39,120 –> 00:03:41,599
این عنصر فرم واقعی در اینجا شوم، اکنون می بینم
98
00:03:41,599 –> 00:03:43,680
که اکنون کلاسی در آنجا وجود دارد، این
99
00:03:43,680 –> 00:03:45,120
برای مواردی مانند مکان نگهدار نیز صادق است.
100
00:03:45,120 –> 00:03:47,760
و همچنین به عنوان مکان
101
00:03:47,760 –> 00:03:50,640
نگهدار شما چیزی شبیه به نام خود را می دانید
102
00:03:50,640 –> 00:03:51,599
103
00:03:51,599 –> 00:03:53,599
بسیار جالب است، بنابراین من آنجا را تازه می کنم و اکنون
104
00:03:53,599 –> 00:03:55,840
در واقع نوعی مکان نگهدار را نشان می دهد
105
00:03:55,840 –> 00:03:57,360
، البته این در واقع باید
106
00:03:57,360 –> 00:03:59,680
نام دستور غذا باشد نه نام شما
107
00:03:59,680 –> 00:04:02,080
و بنابراین ما می توانیم در واقع از
108
00:04:02,080 –> 00:04:03,840
همان منطق پیروی کنیم با برخی از این فیلدهای دیگر،
109
00:04:03,840 –> 00:04:06,239
بنابراین اگر وارد اینجا
110
00:04:06,239 –> 00:04:08,400
شوم، میتوانم فیلد forms.char را دوباره انجام دهم،
111
00:04:08,400 –> 00:04:10,319
حالا دوباره یک فیلد کاراکتری
112
00:04:10,319 –> 00:04:13,280
است، یک فیلد متنی نیست که شما ممکن است بخواهید
113
00:04:13,280 –> 00:04:15,840
، همان چیزی است که من میخواهم باشد،
114
00:04:15,840 –> 00:04:18,399
زیرا واقعی است. مدل fi eld یک
115
00:04:18,399 –> 00:04:20,798
فیلد متنی است، پس چرا فرم یک فیلد متنی
116
00:04:20,798 –> 00:04:23,120
نیست، باز هم این مربوط به
117
00:04:23,120 –> 00:04:25,600
فیلد کاراکتر واقعی و ویجتی است که با
118
00:04:25,600 –> 00:04:27,720
آن استفاده میشود، بنابراین در این مورد،
119
00:04:27,720 –> 00:04:29,280
120
00:04:29,280 –> 00:04:30,400
ناحیه forms.txt است
121
00:04:30,400 –> 00:04:32,160
و بنابراین ناحیه متن
122
00:04:32,160 –> 00:04:33,840
واقعاً یکی از آنهاست.
123
00:04:33,840 –> 00:04:35,440
چیزهایی که در نهایت
124
00:04:35,440 –> 00:04:37,759
فقط با فیلدهای بزرگتر از آنها استفاده می کنید، اما می توانید از
125
00:04:37,759 –> 00:04:39,360
آن ویجت در هر جایی استفاده
126
00:04:39,360 –> 00:04:41,040
کنید که خود ویجتی که استفاده
127
00:04:41,040 –> 00:04:43,199
می شود واقعاً مهم نیست
128
00:04:43,199 –> 00:04:45,040
تا آنجا که به نوع داده مربوط
129
00:04:45,040 –> 00:04:46,880
می شود، در واقع می توانید هر نوع ویجتی را
130
00:04:46,880 –> 00:04:49,120
که می خواهید ارائه دهید. اما اعتبارسنجی ممکن است
131
00:04:49,120 –> 00:04:51,280
اجازه ندهد که ویجت کار کند،
132
00:04:51,280 –> 00:04:53,040
بنابراین چیزهایی هستند که
133
00:04:53,040 –> 00:04:55,520
البته می توانید بررسی کنید و بنابراین در یک
134
00:04:55,520 –> 00:04:57,680
ناحیه متنی اگر html را به خوبی می
135
00:04:57,680 –> 00:04:59,680
دانید، می دانید که در واقع می توانید
136
00:04:59,680 –> 00:05:02,639
ویژگی را در خود ورودی به موجود بودن منتقل کنید.
137
00:05:02,639 –> 00:05:04,800
مانند ردیفها بگویید و میتوانید آن را
138
00:05:04,800 –> 00:05:07,440
روی سه تنظیم کنید و ما میتوانیم اینجا
139
00:05:07,440 –> 00:05:09,840
و آنجا را بازخوانی کنیم، خوب پیش میرویم و بنابراین
140
00:05:09,840 –> 00:05:12,320
میتوانیم با این منطق در نامگذاری
141
00:05:12,320 –> 00:05:14,479
خود فیلد واقعی ادامه دهیم، اگر
142
00:05:14,479 –> 00:05:16,960
توضیحاتی را انجام دادم، نام فیلد دیگری را انجام دادم
143
00:05:16,960 –> 00:05:19,199
که اینطور نبود. در مدل یا
144
00:05:19,199 –> 00:05:20,080
در اینجا مشخص شده است،
145
00:05:20,080 –> 00:05:22,240
ما در واقع شاهد یک فیلد دیگر خواهیم
146
00:05:22,240 –> 00:05:24,400
بود، بنابراین
147
00:05:24,400 –> 00:05:26,400
مطمئناً فرمهای مدل میتوانند
148
00:05:26,400 –> 00:05:28,080
انواع دیگری از فیلدها را نیز ارائه کنند
149
00:05:28,080 –> 00:05:30,800
که به نظر من واقعاً بسیار جالب است،
150
00:05:30,800 –> 00:05:34,080
بنابراین میتوان به نوعی فیلد یا
151
00:05:34,080 –> 00:05:35,680
خود شکل را تقویت کرد
152
00:05:35,680 –> 00:05:37,360
که میخواهم در عوض انجام دهم. از
153
00:05:37,360 –> 00:05:39,520
اعلام فیلد char و همه این
154
00:05:39,520 –> 00:05:41,120
موارد در اینجا، من
155
00:05:41,120 –> 00:05:44,160
روش دیگری را برای تغییر آن چیزها به شما نشان خواهم داد تا
156
00:05:44,160 –> 00:05:45,840
بتوانیم در اینجا وارد شویم و
157
00:05:45,840 –> 00:05:48,400
یک متد init تعریف کنیم
158
00:05:48,400 –> 00:05:51,120
و آرگ های خود و آرگ های کلیدواژه را در نظر بگیرد
159
00:05:51,120 –> 00:05:52,720
و سپس البته ما می خواهیم
160
00:05:52,720 –> 00:05:55,360
متد init اولیه
161
00:05:55,360 –> 00:05:57,199
را فراخوانی کنیم بنابراین متد والد init را
162
00:05:57,199 –> 00:06:00,479
با self و args و کلیدواژه args صدا
163
00:06:00,479 –> 00:06:02,800
می زنیم و بنابراین اکنون کاری که می توانیم انجام دهیم این است که می توانیم
164
00:06:02,800 –> 00:06:04,120
کاری مانند
165
00:06:04,120 –> 00:06:06,960
self.fields of name انجا