آموزش SuperGuide FastAPI: 3 برنامه FastAPI در دنیای واقعی ایجاد کنید

The FastAPI SuperGuide: Create 3 Real-World FastAPI Apps

نکته: آخرین آپدیت رو دریافت میکنید حتی اگر این محتوا بروز نباشد.
نمونه ویدیوها:
توضیحات دوره: FastAPI، Python، REST API، Bootstrap، SQLite، Jinja و امنیت وب را بیاموزید. همه در حین ایجاد 3 برنامه وب تمام پشته! ایجاد 3 برنامه تمام پشته با استفاده از FastAPI در پایتون و روش‌های استاندارد صنعتی از Jinja2، Bootstrap، HTML و CSS برای ایجاد قالب‌های جلویی با جریان کنترل (شرط‌ها، حلقه‌ها و غیره) استفاده از معماری REST API و نحوه پیاده‌سازی آن REST API ها در FastAPI از مرورگرهای پایگاه داده و SQLAlchemy برای ایجاد، مدیریت، به روز رسانی و تجزیه پایگاه های داده SQLite استفاده کنید. ایجاد احراز هویت کاربر و منطق ثبت نام با مدیریت خطا درک HTTP، نحوه کارکرد آن، و نحوه درخواست، از جمله روش ها، سرصفحه ها، بدنه ها و کدهای وضعیت داده‌های برنامه‌ریزی را قالب‌بندی کنید تا در صفحات جلویی قرار گیرند. درخواست‌های HTTP در پایتون را تجزیه کنید و داده‌های مربوطه را استخراج کنید، از جمله پارامترها، داده‌های فرم و بدنه‌های درخواست اعتبارسنجی مسیرهای HTTP و پیاده‌سازی مدیریت خطا در REST API و برنامه‌های فول استک درک JSON و چگونگی برای تجزیه و تحلیل و برگرداندن آن با استفاده از Python از Pydantic و تایپ نکات برای ایجاد مدل های داده و طرحواره ها در Python Hash و تأیید رمز عبور در Python ایجاد جریان های OAuth2 و استفاده از آنها برای احراز هویت کاربران ایجاد، مدیریت و به روز رسانی JSON Web Tokens ایجاد مدل های پایگاه داده در Python استفاده از Alembic برای مهاجرت و به روز رسانی پایگاه داده استفاده از SQLAlchemy برای نوشتن عملکرد برای تعامل با پایگاه داده در پایتون یادگیری بهترین شیوه ها و قراردادهای توسعه وب

موارد زیادی برای توسعه وب پشته کامل وجود دارد.

با پایگاه‌های داده، معماری REST، درخواست‌های HTTP، OAuth2 و همه پروتکل‌های دیگر که در کنار توسعه وب پشته کامل قرار می‌گیرند، یادگیری آن می‌تواند سخت باشد، به خصوص وقتی با یک چارچوب پیچیده مانند FastAPI و بخش‌های ظریف پایتون همراه شود.

هدف این دوره از بین بردن این سردرگمی با آموزش FastAPI از ابتدایی تا سطح پیشرفته است. این تئوری و کاربرد عملی را با هم ترکیب می کند تا همه چیزهایی را که برای یادگیری FastAPI نیاز دارید در اختیار شما قرار دهد، در حالی که به شما امکان می دهد 3 برنامه وب تمام پشته که در طول مسیر عمدتاً در پایتون نوشته شده اند بسازید.

در طول دوره، شما:

  • ایجاد 3 برنامه فول پشته با استفاده از FastAPI در پایتون و شیوه های استاندارد صنعتی

  • از Jinja2، Bootstrap، HTML و CSS برای ایجاد الگوهای جلویی با جریان کنترل (شرط، حلقه و غیره) استفاده کنید

  • معماری REST API و نحوه پیاده سازی REST API ها در FastAPI را به طور اساسی درک کنید

  • از مرورگرهای پایگاه داده و SQLAlchemy برای ایجاد، مدیریت، به روز رسانی و تجزیه پایگاه داده های SQLite استفاده کنید

  • منطق احراز هویت و ثبت نام کاربر را با مدیریت خطا ایجاد کنید

  • درک HTTP، نحوه عملکرد آن، و نحوه درخواست، از جمله روش‌ها، سرصفحه‌ها، بدنه‌ها و کدهای وضعیت

  • داده‌های برنامه‌ای را برای درج در صفحات جلویی قالب‌بندی کنید

  • تجزیه درخواست‌های HTTP در پایتون و استخراج داده‌های مرتبط، از جمله پارامترها، داده‌های فرم و بدنه‌های درخواست

  • مسیرهای HTTP را تأیید کنید و مدیریت خطا را در APIهای REST و برنامه‌های فول استک اجرا کنید

  • JSON و نحوه تجزیه و بازگرداندن آن را با استفاده از پایتون درک کنید

  • از Pydantic و تایپ نکات برای ایجاد مدل‌ها و طرح‌واره‌های داده در پایتون استفاده کنید

  • پسوردها را در پایتون هش و تأیید کنید

  • جریان های OAuth2 را ایجاد کنید و از آنها برای احراز هویت کاربران با استفاده از منطق FastAPI استفاده کنید

  • توکن های وب JSON را ایجاد، مدیریت و به روز کنید

  • مدل های پایگاه داده را در پایتون ایجاد کنید و از آنها با مسیرهای FastAPI استفاده کنید

  • از Alembic برای انتقال و به روز رسانی پایگاه داده استفاده کنید

  • از SQLAlchemy برای نوشتن عملکرد برای تعامل با پایگاه داده در پایتون استفاده کنید

  • بهترین شیوه ها و قراردادهای توسعه وب را بیاموزید

  • و خیلی بیشتر!

و بهترین بخش این است. لازم نیست در مورد FastAPI، مسیریابی وب، امنیت یا هر یک از موارد فوق چیزی بدانید. تنها چیزی که نیاز دارید یک درک اولیه از Python و آشنایی با HTML و CSS است و در راه تبدیل شدن به یک استاد توسعه وب کامل پشته در Python و FastAPI خواهید بود!


برنامه درسی نگاهی جامع به FastAPI و فناوری‌های مورد نیاز برای ساخت آن دارد. قبل از شروع ساختن هر اپلیکیشنی، نگاهی به اصول اولیه پایتون می اندازیم، از جمله:

  • نکات تایپ

  • مدل های پیدانتیک

  • ویژگی های ظریف پایتون که توسعه را بسیار آسان می کند، مانند محیط های مجازی.

در پایان بخش، یک تمرین برنامه‌نویسی و مسابقه وجود دارد که تمام محتوای پوشش‌دهی شده را برای اطمینان از درک در آن گنجانده است.


هنگامی که اصول اولیه پوشش داده شد، با ساختن اولین برنامه از سه برنامه وب کامل پشته شروع می کنیم. در اولین برنامه، با آموزش:

روی اصول اولیه FastAPI تمرکز می کنیم
  • معماری REST API

  • Jinja2

  • Bootstrap

  • الگوی HTML

  • مهارت‌های اساسی FastAPI که برای راه‌اندازی و اجرا کردن یک برنامه اصلی لازم است.

در طول مسیر، ما یک نمایشگر اطلاعات خودرو ایجاد خواهیم کرد که به شما امکان می‌دهد اطلاعات مربوط به خودروها را مشاهده، جستجو، ایجاد، ویرایش و حذف کنید، همه در یک پایگاه کد تمیز و خوانا با استفاده از Python و FastAPI ارائه می‌شوند.

صفحه اصلی حاوی لیستی از تمام خودروهای موجود در پایگاه داده ما است که به شکلی منظم قالب بندی شده و به صورت شبکه ای به کاربر نمایش داده می شود.

نوار ناوبری حاوی پیوندهای کاری به صفحه اصلی، فرمی برای ایجاد یک ماشین (در ادامه در مورد آن بیشتر خواهد شد!) و یک نوار جستجوی جاسازی شده است که در صورت استفاده، شما را به صفحه جستجو می برد.

فرم جستجو از شناسه ها برای جستجو در پایگاه داده خودروها استفاده می کند و آنها را به کاربر نمایش می دهد. همچنین شامل رسیدگی به خطا در صورت ارسال شناسه نامعتبر به کاربر است.

هر خودرو در صفحه دارای دکمه‌های ویرایش و حذف است، با دکمه ویرایش شما را به فرمی پر شده خودکار در صفحه‌ای جداگانه برای ویرایش داده‌ها می‌برد، و دکمه حذف درخواست را به مسیری مخفی ارسال می‌کند که آن را از آن حذف می‌کند. پایگاه داده.

فرم ایجاد با فرم ویرایش یکسان است، با این تفاوت که هیچ داده پرشده خودکاری ندارد. پس از تکمیل، به صفحه اصلی هدایت می شود، جایی که ماشین جدید ایجاد شده برای مشاهده در دسترس خواهد بود.


برنامه دوم بر امنیت وب تمرکز دارد و شامل موارد زیر است:

  • جریان ها و طرح های OAuth2

  • درهم کردن رمز عبور

  • نشانه‌های وب JSON

  • سیستم‌های احراز هویت خاص FastAPI

  • و شیوه‌های استاندارد صنعتی در برنامه اصلی FastAPI نوشته شده در پایتون.

این مورد حول یک فید رسانه اجتماعی ساخته خواهد شد که از قابلیت ورود و ثبت نام برای نمایش اطلاعات کاربر در یک صفحه محافظت شده استفاده می کند.

صفحه اصلی برای همه در دسترس است و حاوی چند متن اساسی است که کاربر را به ورود به سیستم ترغیب می کند. نوار ناوبری حاوی پیوندهایی به یک صفحه ورود، ثبت نام و خروج است که همگی دارای پیام های خطای سفارشی هستند تا اطمینان حاصل شود که کاربران جدید منحصر به فرد هستند و تلاش برای ورود به سیستم به درستی تأیید شده است.

صفحه محافظت شده حاوی داده هایی درباره کاربر است که در یک شبکه پاسخگو به کاربر نمایش داده می شود. این اطلاعات کاربر، دوستان و اعلان‌ها را نمایش می‌دهد.

ویژگی خروج هر یک از احراز هویت اعمال شده در جلسه وب را حذف می کند و به صفحه اصلی هدایت می شود.


برنامه سوم بر روی پایگاه‌های داده تمرکز دارد و از SQLite و SQLAlchemy برای ساخت و مدل‌سازی پایگاه‌های داده در Python و FastAPI استفاده می‌کند. همچنین یاد خواهید گرفت که از Alembic در ترکیب با SQLAlchemy برای انجام انتقال و به روز رسانی پایگاه داده استفاده کنید.

این موضوعات حول یک لیست کار ساخته خواهند شد که ورود کاربر را با پایگاه‌های داده SQLite ترکیب می‌کند تا یک برنامه وب پشته کامل ایجاد کند، که شامل تمام عناصر FastAPI، Python، OAuth2، و سایر روش‌های آموخته شده تا آن زمان است.

همانند برنامه دوم، صفحه اصلی برای همه در دسترس است و از کاربر می خواهد وارد سیستم شود.

ویژگی‌های ورود، ثبت‌نام و خروج از سیستم از همان منطق FastAPI برای انجام احراز هویت مانند برنامه قبلی استفاده می‌کنند، با این تفاوت که این بار، داده‌ها از یک پایگاه داده واقعی SQLite استخراج می‌شوند. این با دانش گذشته ترکیب می شود تا احراز هویتی ایجاد کند که با FastAPI کار می کند.

صفحه کار شامل فهرستی از تمام کارهای مربوط به کاربر است. در انتهای لیست، فرمی وجود دارد که به شما امکان می دهد یک کار جدید اضافه کنید، که درخواستی را به مسیری ارسال می کند که تجزیه و تحلیل و اضافه کردن کار را به لیست وظایف کاربر از طریق منطق پیشرفته Python مخصوص FastAPI ارسال می کند.


بنابراین، آیا آماده شروع خرد کردن توسعه وب و ساختن برنامه‌های وب پشته کامل در FastAPI و Python هستید؟ ثبت نام کنید و سفر FastAPI خود را از امروز شروع کنید!


سرفصل ها و درس ها

معرفی و راه اندازی Introduction & Setup

  • قبل از اینکه تو شروع کنی Before you start

  • پروژه هایی که تکمیل خواهید کرد Projects you will complete

  • در این دوره چه چیزی یاد خواهم گرفت؟ What will I learn in this course?

  • نصب کتابخانه و نرم افزار Installing libraries & software

  • کجا می توان فایل های پروژه را پیدا کرد Where to find project files

پایتون و مفاهیم پیشرفته Advanced Python & Concepts

  • در مورد بخش زیر توجه کنید Notice about the following section

  • منابع پروژه Project Resources

  • درخواست های REST، CRUD و HTTP REST, CRUD, and HTTP requests

  • FastAPI چیست؟ What is FastAPI?

  • نکات را تایپ کنید Type hints

  • مدل های پیدانتیک Pydantic models

  • تمرین کدگذاری: یک مدل پست رسانه اجتماعی با Pydantic طراحی کنید CODING EXERCISE: Design a social media post model w/ Pydantic

  • تمرین کدگذاری (راه حل): یک مدل پست رسانه اجتماعی با Pydantic طراحی کنید CODING EXERCISE (SOLUTION): Design a social media post model w/ Pydantic

  • محیط های مجازی Virtual environments

  • آزمون: معماری REST، نکات تایپ، و مدل‌های Pydantic Quiz: REST Architecture, Type Hints, & Pydantic Models

برنامه 1: نمایشگر اطلاعات خودرو (Basic FastAPI، Jinja، Bootstrap) App 1: Car Information Viewer (Basic FastAPI, Jinja, Bootstrap)

  • پیش نمایش پروژه - نمایشگر اطلاعات خودرو Project Preview - Car Information Viewer

  • منابع پروژه Project Resources

  • راه اندازی اپلیکیشن Setting up app

  • ایجاد مدل ماشین Creating a car model

  • مسیر همه ماشین ها را بگیرید Get all cars path

  • با شناسه ماشین بگیرید Get car by ID

  • اضافه کردن ماشین ها Adding cars

  • به روز رسانی ماشین Updating car

  • در حال حذف ماشین Deleting car

  • ورود به دوره Course Check-In

  • راه اندازی قالب های HTML Setting up HTML templates

  • ایجاد اولین پاسخ HTML شما Creating your first HTML response

  • اجزای سرصفحه و پاورقی Header & footer components

  • طراحی نوار ناوبری Designing a Navbar

  • ایجاد صفحه اصلی Creating the main page

  • اطلاعیه در مورد سخنرانی بعدی Notice about following lecture

  • ایجاد یک جزء خودرو Creating a car component

  • افزودن قابلیت جستجو Adding a search feature

  • ایجاد ویژگی ماشین Create car feature

  • ویرایش ویژگی ماشین Edit car feature

  • قابلیت حذف ماشین Delete car feature

  • امتحان: FastAPI پایه Quiz: Basic FastAPI

برنامه 2: فید رسانه های اجتماعی با ورود کاربر (OAuth2، JWT، امنیت) App 2: Social Media Feed w/ User Login (OAuth2, JWT, Security)

  • پیش نمایش پروژه - فید رسانه های اجتماعی Project Preview - Social Media Feed

  • منابع پروژه Project Resources

  • راه اندازی اپلیکیشن Setting up app

  • ایجاد مدل ها Creating models

  • ایجاد صفحه اصلی پایه Creating base home page

  • ایجاد صفحه ورود Creating login page

  • مکانیزم هش رمز عبور Password hashing mechanism

  • در مورد سخنرانی زیر توجه کنید Notice about the following lecture

  • مکانیسم ورود: تأیید کاربر Login mechanism: User verification

  • مکانیسم ورود: مسیر داده ورود Login mechanism: Login data route

  • مکانیزم خروج Logout mechanism

  • صفحه ثبت نام Registration page

  • مکانیزم ثبت نام Registration mechanism

  • نمایش اطلاعات کاربر Displaying user information

  • صفحه اعلان ها Notifications page

  • رفع اشکال و بازسازی Bug fixes & refactoring

  • آزمون: OAuth2، JWT، امنیت وب Quiz: OAuth2, JWT, Web Security

برنامه 3: فهرست کارها (SQL، UUID) App 3: Todo List (SQL, UUID)

  • پیش نمایش پروژه - فهرست کارها Project Preview - Todo List

  • منابع پروژه Project resources

  • راه اندازی اپلیکیشن Setting up app

  • ایجاد اجزای هدر، پاورقی و نوار ناوبری Creating header, footer, and navbar components

  • ایجاد صفحه اصلی Creating home page

  • راه اندازی پایگاه داده Setting up database

  • ایجاد مدل های Pydantic (طرحواره ها) Creating Pydantic models (schemas)

  • ایجاد مدل های پایگاه داده Creating database models

  • راه اندازی برنامه با DB App setup with DB

  • مهاجرت‌ها و تنظیمات DB با Alembic DB migrations & adjustments w/ Alembic

  • صفحه ورود و مکانیسم: راه اندازی و CRUD Login page & mechanism: Setup & CRUD

  • صفحه ورود و مکانیسم: احراز هویت Login page & mechanism: Authentication

  • صفحه و مکانیسم ثبت نام: راه اندازی و CRUD Registration page & mechanism: Setup & CRUD

  • صفحه ثبت نام و مکانیسم: احراز هویت Registration page & mechanism: Authentication

  • مکانیزم خروج Logout mechanism

  • صفحه کار: فهرست کارها Todo page: List tasks

  • صفحه کار: اضافه کردن وظایف Todo page: Add tasks

  • صفحه کار: وظایف را کامل کنید Todo page: Complete tasks

  • امتحان: SQL & SQL ادغام Quiz: SQL & SQL Integration

خداحافظ و مراحل بعدی Goodbye & Next Steps

  • خداحافظ Goodbye

  • تو موفق شدی! بعدش چی؟ You made it! What's next?

نمایش نظرات

آموزش SuperGuide FastAPI: 3 برنامه FastAPI در دنیای واقعی ایجاد کنید
جزییات دوره
7 hours
71
Udemy (یودمی) Udemy (یودمی)
(آخرین آپدیت)
1,496
4.7 از 5
دارد
دارد
دارد
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

VideoLab by Jad Khalili VideoLab by Jad Khalili

مربی - 100 هزار دانش آموز در سراسر جهان