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