از Pista Academy حمایت کنید
برای مشاهده سایر جلسات و ادامه یادگیری، وارد صفحه دوره شوید.
خلاصه آموزشی
مرور سریع مفاهیم اصلی پیش از تماشای کامل یا برای جمعبندی بعد از آموزش.
در جلسه 16 دوره جامع فریم ورک FastAPI، مدرس نحوه ساختن یک یوزر با استفاده از فریم ورک FastAPI آموزش میدهد. ابتدا یک کلاس برای ولیدیشن اطلاعات یوزر ایجاد میشود و سپس اطلاعات از طریق ریکوست دریافت و به صورت دیکشنری تبدیل میشود. همچنین، روش هش کردن پسورد با استفاده از کتابخانههای پیپ و بیکریپتو توضیح داده شده است. در نهایت، اطلاعات یوزر به دیتابیس ذخیره میشود و یک تست انجام میشود تا اطمینان حاصل شود که اطلاعات به درستی ذخیره شدهاند.
نکات کلیدی
ساخت کلاس برای ولیدیشن اطلاعات یوزر و استفاده از مدل پایدنتیک
هش کردن پسورد با استفاده از کتابخانههای پیپ و بیکریپتو
ذخیره اطلاعات یوزر در دیتابیس
انجام تست برای اطمینان از درستی ذخیره اطلاعات
پرسشهای رایج
پاسخ کوتاه و مستقیم به پرسشهایی که معمولاً هنگام یادگیری این موضوع مطرح میشوند.
برای وریفای اطلاعات یوزر، یک کلاس برای ولیدیشن ایجاد میشود و از مدل پایدنتیک استفاده میگردد.
از کتابخانههای پیپ و بیکریپتو برای هش کردن پسورد استفاده میشود.
یک تست انجام میشود تا اطمینان حاصل شود که اطلاعات به درستی در دیتابیس ذخیره شدهاند.
آخرین بهروزرسانی محتوای متنی:
دوره جامع FastAPI از صفر تا استقرار در دنیای واقعی اگر دنبال ساخت APIهای حرفهای، سریع و امن با پایتون هستی، این دوره دقیقاً برای توست. قدمبهقدم از مبانی شروع میکنیم و تا پیادهسازی در محیط تولید (Production) پیش میرویم: از راهاندازی و طراحی Endpointها، پایگاهداده، احراز هویت و مجوزها، تستنویسی و مهاجرت دیتابیس تا نسخهسازی با Git و دیپلوی نهایی. این دوره چه چیزهایی بهت میدهد؟ شناخت کامل FastAPI و مزیتهایش (سرعت بالا، تایپهینتها، مستندسازی خودکار، async) ساخت RESTful APIهای تمیز و ماژولار با الگوهای حرفهای پیادهسازی لایههای Authentication & Authorization (مانند توکنهای JWT و نقشها) اتصال به پایگاهداده و آمادهسازی Database برای تولید به همراه مفاهیم اساسی Performance و ایمنی داده انجام مهاجرتهای دیتابیس (Alembic) بدون از دست رفتن داده Unit & Integration Testing برای اطمینان از کیفیت کد ساخت یک اپلیکیشن فولاستک با API بکاند FastAPI و یک فرانتاند رایج مدیریت نسخهها و گردشکار تیمی با Git Deploy امن و استاندارد روی سرور یا سرویسهای ابری 🎯 مخاطبان این دوره برنامهنویسان پایتون که میخواهند APIهای سریع و مقیاسپذیر بسازند بکاند دولوپرهایی که به دنبال Production-Ready FastAPI هستند دانشجویان یا فریلنسرهایی که میخواهند با نمونهکارهای واقعی، وارد بازار کار شوند پیشنیاز: آشنایی پایه با پایتون (متغیرها، توابع، ماژولها). بقیه را در خود دوره یاد میگیری. خروجی نهایی تو پس از دوره یک بکاند استاندارد و Production-Ready با FastAPI تسلط بر احراز هویت و مجوزها و الگوهای امنیتی رایج مهارت در مهاجرتهای دیتابیس و نگهداری داده در طول توسعه توانایی نوشتن تست برای اطمینان از کیفیت و کاهش ریسک تجربه ساخت یک پروژه فولاستک برای رزومه و پرتفولیو آمادگی برای دیپلوی و نگهداری سرویس در محیط واقعی چرا این دوره متفاوت است؟ پروژهمحور و کاملاً عملی؛ هر فصل یک خروجی ملموس میسازد تمرکز روی آنچیزی که در محیط تولید واقعاً به آن نیاز داری سادگی بیان + استانداردهای حرفهای = یادگیری سریع اما اصولی چطور از دوره استفاده کنم؟ ویدیوها را به ترتیب ببین و همزمان کدنویسی کن هر فصل یک Feature واقعی بساز در انتها آمادهای کدت را روی سرور/ابر بالا بیاوری اگر این دوره برات مفید بود، لطفاً لایک، سابسکرایب و کامنت یادت نره تا فصلهای جدیدتر و پروژههای بیشتر بسازیم 🙌
اینه که اینو تبدیل میکنم به ریکوست پست.
قبل یوزر بسازیم.
اینم میکنم کریت یوزر.
بعد فعلاً بریم اینور. خب اول یه کلاس
تعریف میکنم برای پایدنتیک که این
ولیدیشن یوزر و اطلاعات یوزررو انجام بده
که هر دیتایی نیاد کلاس
کریت
یوزر
ریکوست
بیس مدلو میاریم
ایمپورتش نکردیم حالا ایمپورتش میکنیم یه یوزرنیم داریم باید استرینگ باشه
یه دونه ایمیل داریم اینم باید استرینگ باشه
یه فرستیم داریم
اینم باید استرینگ باشه
یه لست نیم داریم اینم باید استرینگ باشه
بعد یه پسورد داریم
اینم باید استرینگ باشه و یه دونه رول داریم اینم باید استرینگ
باشه خب
بیس مدلو بذارید ببینم خودش میفهمه
کوکیزنت
بیس مدل اوکی
حالا بیایم پایین
ما ولیدیشنمونو انجام دادیم کاری که باید
بکنیم اینه که اطلاعات یوزر رو بگیریم و
بخوایم که ازش استفاده بکنیم اول طبیعتاً
باید پاسش بدیم به پایتیک بعد ادامه کار
خب میام اینجا میگم که اینو که باید پاک
کنیم چی خب کریت یوزر
ریکوست
اول یه مدل درست کنیم کرت یوزر مدلسپ
مدل یوزرزو میاریم اینو باید از کجا
بیاریم ببینیم میفهمه خودش
آره از اینجا باید یوزرزو بیاریم
بعد میگم که د همون که دفعه قبل میکردیم
اینو دیگه درست دات دیکشنری دیتایی که داره برامون میاد برای از سمت
سمت ریکوستمون اونو تبدیلش میکنیم به
دیکشنری
د تا ستارست اشتباه نوشتم خب فقط یه
ایرادی اینجاست بچهها چه ایرادیه
ایراد اینه که ما دیتایی که در سمت کاربر
برای ما میاد پسوردش در قالب استرینگه
اما ما توی مدلمون پسوردو داریم در قالب
چی ذخیره میکنیم؟ ۸ شده پس از این روش
نمیتونیم بریم باید اینو بشکونیمش خوردش
بکنیم دستی خودمون در حق اون پسورده رو
اول هش بکنیم خب
پس میام اینو برمیدارم
اینو اینجوری نمیتونم بنویسم
میگم که
ایمیل مساویه
اون ریکوستی که داره میاد ایمیل اون
دایکشنری بود بچهها دقیقاً همین کارو
میکنه این کاری که دارم دستی انجام میدم
اینجا میشه چی بچهها تو مدلمون گفتیم چی اسمش ۸ پسورد
میشه پسورد
و در آخرم ایز اکتیو
و در آخر هم ریترن میکنه
تا اینجاشم چک کنین فعلاً پسورد ۸ شده انجام نمیدیم
خب یو
خب بیایم اینجا ببینیم اول این داره کار میکنه من یه ریکوست بفرستم
اینو نمیخواد اصلا تو اپ بنویسه بچهها این همینجا خالیش اوکیه.
من جم ببندم بازیکن دور گیر کرد. یه لحظه. خب مشکل حل شد من یه بار سیستم ریستارت
کنم
این کریت یوزر اومد بریم یه بار تستش
بکنیم سریع
برای یوزرنیم میزنم
پیستا
آکادمی
برای پس ایمیلشم میزنم همین gmail.com
یه دونه نقطه اینجا باید بذاریم
برای فرست نیمم میذارم ۲۰ تا برای لست
نیم میذارم
آکادمی
پسوردم میذارم ۲۰ تا ۱ ۲ ۳ ۴ و رول
میذارم مثلاً ادمین
۲۰۰ باید بیایم برگردونه و خود اون دیتا م
باید برگردونه و پسوردم به صورت پلنت
تکسته یعنی اصلاً هش نشده حالا بریم سراغ
هش کردن پسورد
برای درق هش کردن پسورد من باید د تا دپندنسی نصب بکنم پس پروژمو فعلاً استاپ
میکنم. یکی پیپ
اینستال پس لیبه اینو باید نصب بکنید
یکی هم باید بیک کریپتو نصب بکنه بذارید نصب بشه خب
این اوکی شد پیپ
اینستال
بی کریپت
یه نسخه خاصیشم نصب میکنیم که همه یکسان
باشیم ۴ صف ۱
خب اینم از این حالا بریم پسوردمونو هش بکنیم قبل از اینکه بخوایم پسوردو ذخیره
بکنیم داخل در حقیقت دیتابیس باید هش
بکنیم اول چیزی روم ایمپورت بکنم من فرام
پسدیپ
کانتکست
ایمپورت بکن
کریپت کانتکست همین دقیقا خب میخوایم از
این استفاده کنیم
اول میام یه دونه اینستنس ازش درست میکنم اینجا میگم که بی کریپت
کانتکست اسیسپا
یکی باید اسکیما بهش بدیم که میشه بیک کریپت
یکی اینو باید بدیم و یه چیزی هم داره به نام دیپلیکیتد دیپ
چستجست نمیکنه ریکیتد اینو بذار به حالت
اتو
این از این خب ما کانتکستمونو ساختیم حالا فقط باید بریم چیکار کنیم ازش استفاده
کنیم برای هش کردن پسوردمون میایم بیم
اینجا
میگم که اینو من برمیدارم از اینجا
به جاش اون بیک کریپتو میارم
بعد دات ۸ اینو بهش باس میدم میگم اینو ۸ش بکن
و ۸ شدهشو در حقیقت بیار ذخیره بکن
نکته دیگه نمیمونه بریم یه چک بکنیم خب من اینو یه لودش چیزش بکنم رانش بکنم
خب خطایی نداد
رفرش بدیم اینو
ترای کنیم همه چی از
پسوردم اینم
این
این ران شد نگاه کنید بچهها به صورت هش
شده اومد ذخیره کرد خیلی عالی خب حالا این
دیتا رو بریم تو دیتابیسمون ذخیره بکنیم
تو استپ بعدی
برای اینکه میخوایم تو دیتابیسمون ذخیره
بکنیم باید چیکار بکنیم باید طبیعتاً اون
اتصالمون به دیتابیسو بیاریمش میام اینجا
میرم توی تولدوز اینجا داشتمش اینو بذارید
ببندم اینو باید بیارم اینور
و طبیعتاً یه چیزایی رم باید ایمپورت بکنم
خب یکی سشن لوکاله که باید از دیتابیس
ایمپورت بشه فقط این تولدوزو نمی میخواد
بچهها
یکی انوتیت باید تایپینگ باید بیاد فرام
تایپینگ خب سشن هم
دیتکت نکرده الان خودم دستی مینویسم این چی اینم از این باید بیاد فقط اون سشن
که سشن رو باید از اس کی آلکمی بیاریم چرا
اونو متوجه نمیشه برات عجیبه اسک.
آر ام درسته
ایمپورت بکن سشن
اینو متوجه نمیشه عجیبه خب ما اتصالمونم
اومد حالا باید چیکار کنیم
باید
دیتا رو ببریم سمت در حقیقت اونجا ذخیره
بکن فقط اینجا من استاتوسشم بزنم
استاتوس کد
استاتوس استوس
اینم باید ایمپورت بشه
اینم متوجه نشد بیایم بالا استسم باید ایمپورت بشه
بذار مثلاً این بار کپی پیست کنم استالت کو ایناش
۲۲ کریتد ۲۱ کریتد مثلا میذاریم خب
حالا
اینجا زمان که داریم کرت یوزر میکنیم قبلش یه
دونه بیارم پایین
اینجا میگم دی بی دو نقطه دی پی دپندنسی
بعد کرید یوزررو میفرستم و اوکی
پس اینم بیارم چیز جلوتر که خانههایش بهتر بشه اینجور بهتره
و به جای ریتن میگم دیدا ادر
خب بریم یه تست بکنیم ببینیم تو دیتابیسمون
ذخیره میشه یا نه خب این که اوکیه
یه رفرش بدم اینو
بیایم اینجا
یوزرنیمو میذارم
پیستا آکادمی
پسورد
بخش ایمیل pکادمی
پیستا لست نیمم آکادمی پسوردم میذارم پیستا ۱ د سه ۴ اینم میذارم
ادمین
اینو اگزکیوت میکنم ۲۱و برگردوند خب حالا
چهجوری چک کنم که ذخیره شده تو دیتابیسم
برم وصلشم به دیتابیسم
و چکش بکنم اینو و استاپ کنیم پروژمونو
خب بذار یه دونه بشر دیگه باز کنم بیا خب میگم که
چهجوری وصل میشدیم اس کیو لایت اس کی لایت تری
یادتون باشه اسمش چی بود توز اپدی
به این وصل میشه
سلکت استار فرام یوزرز
آیکال یادم رفته بود خب نگ کن ایناش این
یوزرم اومد
پس تو دیتابیسم ذخیره شد بدون مشکل اینم
از این بریم بیایمش جلسه بعدی صحبت کنیم
فعلاً خداحافظ س