از Pista Academy حمایت کنید
خلاصه آموزشی
مرور سریع مفاهیم اصلی پیش از تماشای کامل یا برای جمعبندی بعد از آموزش.
در جلسه 10 دوره جامع فریم ورک FastAPI، مدرس به پروژه جدیدی با استفاده از FastAPI و اتصال به دیتابیس میپردازد. ابتدا نصب و استفاده از اس کی آلکمی (SQLAlchemy) برای مدیریت دیتابیس انجام میشود. سپس کانفیگ دیتابیس، ایجاد انجین کانکشن، مدیریت سشن و ساخت مدل پایه برای تیبلها توضیح داده میشود. همچنین، نسخه جدید اس کی آلکمی و نحوه استفاده از دکریتیو بیس بررسی میشود.
نکات کلیدی
نصب و استفاده از اس کی آلکمی برای اتصال به دیتابیس
ساخت مدل پایه برای تیبلها و تعریف فیلدهای مورد نیاز
کانفیگ دیتابیس و ایجاد انجین کانکشن
مدیریت سشن در اس کی آلکمی
پرسشهای رایج
پاسخ کوتاه و مستقیم به پرسشهایی که معمولاً هنگام یادگیری این موضوع مطرح میشوند.
بله، اس کی آلکمی برای مدیریت دیتابیس در 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 واقعی بساز در انتها آمادهای کدت را روی سرور/ابر بالا بیاوری اگر این دوره برات مفید بود، لطفاً لایک، سابسکرایب و کامنت یادت نره تا فصلهای جدیدتر و پروژههای بیشتر بسازیم 🙌
بکنیم. خب
برای اینکه شما بخواید با دیتابیس کار
بکنید و باهاش تعامل داشته باشید
نیاز دارید که چیزی رو نصب کنید به نام اس
کی آلکمی خب
سی کی آلکمی یا اس کی آلکمی حالا به یه
جورایی
چون تلفظ درشت کیه بچهها خب ولی خب همه
میگن اس کی ماهم میگیم اس کی اشکال نداره
یه ابزاریه که در حقیقت
[گلویش را صاف میکند][صدای سرفه]
به دولپر اجازه میده که در حقیقت بتونن با دیتابیس خیلی کار بکنن ابزار خیلی خوبیه
ما قراره از این استفاده بکنیم
و بریم استفاده کنیم بریم شروع کنیم خب
من د تا فایل قبلی رو پاک میکنم چون
اصلاً دیگه لازمش ندارم یه دایرکتور جدید
درست میکنم اینجا اینجا نه
بیرون
اسمشو میذارم
یه توو اپ میخوایم درست کنیم. یه پروژه
خیلی مرسوم توی اکثر حالا دورهها.
[صدای خرناس]
اولین فایلی که میخوایم درست بکنیم فایل دیتابیسمونه.
B.py کانفیگ دیتابیسمونو اینجا مینویسیم. من
خط به خط مینویسم کانفیگ دیتابیسو و بعد
توضیح میدم که هر کدوم در حقیقت قراره
چیکار بکنه و چه اتفاقی بیفته. خب اجازه
بدید [گلویش را صاف میکند]
اولین مرحله از کارمون اینه که ما یک آدرسی رو برای دیتابیسمون اختصاص بدیم. خب
میام چیکار میکنم؟ میام یه اینجا وریبل
تعریف میکنم به نام مثلاً اس کی
آلکمی
دیتا بیس یورآرl
یه آدرسی اختصاص میدم من قراره که بچهها
از اس کی لایت استفاده بکنم و یک فایلی رو
هم اینجا اختصاص بدم برای دیتابیسم
پس میام میگم که اس کیو لایت
اسلش نقطه اون فایله رو اسمشو میدم میزارم مثلاً اسمشو میگم تودوس.db
دیبی
این از این پس من آدرسو دادم از اسکولا
لایت استفاده کردم اینم فایلیه که به
عنوان دیتابیس میخوام استفاده کنم تو همین
مسیر پروژهم قراره باشه نقطه اسلش
است بعدی چیه من باید یک انجین درست بکنم
انجین کاری که میکنه اینه که کانکشن هایی که به این دیتابیس هستن ن رو
حالا یا ایج اپن میکنه اصطلاحاً یا هولدش
میکنه. خب
برای درست کردنش ما نیاز داریم که
یه چیزی رو ایمپورت بکنیم.
میام این بالا میگم که برو از اس کی آلکمی
اصلا نصب نکردم راست اس کیو
آلکمی رو نصب نکردم
خب بیایم نصبش بکنیم
پروژه قبلیه استاپ نشده بود ب
فست ایپیآی اول فعاله خب اوکی فعاله من فکر کردم این
فعال نیست میگم پیپ اینستال
اس کی آرکمی
ایشاالله درست نوشتم دیگه بله خب این نصبشه
خب این نصب شد حالا میام میگم که فرام
اس کی آلکمی ایمپورت بکن کرت انجینو خب حالا بریم
انجینو درست کنیم میگم انجین
مساویست با
کرت انجین
اول باید آدرسو بهش بدم آدرس دیتابیسمو که
میشه این
بعد یه چیزی رو هم ست میکنم یه چیز داریم
به نام کانکت آرگومان
اینجا میام میگم که
چک
سیم
ترید
اینو میذارم فالس چرا؟ برای اینکه بتونم
از این کانکشنه تو تردای مختلف استفاده
کنم تردای مختلف بتونم به این کانکشن اکسز
داشته باشم اگه اینو فالس نکنم این کارو
نمیتونم بکنم
خب بریم سر خط بعدیمون
تو قسمت بعدی
باید یه چیزی درست بکنم که مدیریت سشنامو انجام بده خب
برای اینم
میرم سراغ سشن میکر دوباره از اسکی آلکمی فرام
ایمپورت بکن سشن میکر
که یک استخر سشن برای من درست بکنه. همچین
چیزی یه چیزی درست میکنم به نام سشن
سشن لوکال مثلاً
برا کهه اسمش یکی نشه
سشن میکر چند تا پارامتر داره یکی اتو
کامی اتو فلاشو اینو میذارم فالس که خودش
این کارو نکنه خود اسکلال کمی این کارو
نکنه فلاش نکنه اون سشنایی که پندینگ
هستنو
یکیهم اتوکامیته
میخوام اختیارش دست خودم باشه. اینم میکنم فارس.
بایندش میکنم به اون انجینی که اون بالا دارم.
بایندش میکنم به این انجینی که اینجا
دارم
و در نهایت
باید بریم یه مدل پایه درست بکنیم برای تیبلمون. خب فقط بذارید اینو
بگم بعدی د تا نکتهست که باید بگم بیس
مساویست با
ایمپورتش نکردیم نه
فرام
اس کی
ا دکلتی ایمپورت کن
اینو
ای خب اینم مدل پاگمون برای ساختن تیبلا یه نکته
توی نسخه جدید اسکول آلکین بچهها اینو
دیگه نداریم برای همینم ساجست نمیکرد خب
من دیدم ساجست نمیکنه رفتم داکومنتشو
نگاه کردم دیدم نه این اصلاً چیز شده دیگه
دیپلیکیت شده دیگه برداشته شده
بعد
آها اینم شما میتونید از مستقیم از اوآرم
ام یعنی از میتونید از اینم ایمپورتش
کنید یعنی اینجا هم هستش تو نسخه جدید
نگاه کنید دکریتیو بیس اینم اوکیه میتونم
اینو پاک کنم تو نسخه جدید اسک آرکیم این
اتفاق افتاده
خب این از این دیتابیسمون کانفیگش انجام
شد بریم سراغ مدلمون
من یه دیتابیسی دارم دیگه درسته این دیتابیس یه سری فیلد داره باید مشخص بکنم
که چه فیلدایی داره مدل دیتابیسم اصلاً
چهجوریه
ما برای تو دو اپ دیتابیسمون چیا باید
ذخیره بکنه
[گلویش را صاف میکند] برای دیتابیس تو دو مثلاً یه دونه آیدی
نیاز داریم که باید منحصر به فرد باشه
یه تایتل داریم اینکه تایتل اون تو دوئ
چیه دسکریپشن نیاز داریم
اولویتش چقده مثلاً میتونیم یه رنج مثلاً
۱ تا ۵ بذاریم براش و اینکه آیا این تسکه
انجام شده یا نه کامپلت شده یا نشده مثلاً
یه بولینه ترو فالسه این فیلدای
دیتابیسمون اینو باید مدلشو بسازیم
بریم این کارو با هم انجام بدیم
خب میام میگم که فرم دیتابیس
ایمپورت کن بیسو
و یه چیز دیگه هم که لازم دارم میگم که
برو از اس کی آلکمی ایمپورت بکن
یکی ستون و کالم و یکی اینتیجر و
یکی استرینگ و یکی هم پولین اینا
تایپهاییه که ستونای من دارن یه کلاس
تعریف میکنم تو دوست اسمشو میذارم بیسو
بهش پاس میدم خب
یه تیبل نیم اول باید مشخص بکنیم خب
نیم مساوی توس
یه آیدی داریم یم یه ستون آیدی داریم که چه ویژگی داشت گفتم اولاً اینتیجره
و ایندکسشم میکنم ترو این ستون اول ستون دوم تایتله
استرینگ بعد دسکریپشنه دس
شن
میشه کالم
اینم استرینگ
بعد یه دونه ستون اولویت میذاریم پروریتی
میذاریم
این از بولی هم بود یادتون باشه ترو فالسه دیفالتشم میذاریم رو حالت فالس
مقدار دیفالتم میتونیم بدیم خب اینم
مدلمون برای دیتابیس بریم بیایم ادامهش
جلسه شادی انجام بدیم فعلاً خداحافظ