اگر فکر میکنید فریم ورک Django «جادو» میکند، زیرا تنها با چند خط میتوانید کارهای زیادی انجام دهید، صبر کنید تا متوجه شوید Django Rest Framework چیست!
API چیست؟
Django Rest Framework به شما امکان میدهد API های RESTful ایجاد کنید: این راهی برای انتقال اطلاعات بین یک رابط کاربری و یک دیتابیس به روشی ساده است.
این کار، رابط کاربری و data storage را جدا میکند و برای ارسال یک فایل json. بین کاربر و دیتابیس ارتباط برقرار میکند. درست مثل این:
Django Rest Framework in-built visual interface
به آخرین باری که خرید آنلاین کردید فکر کنید: آیا به خاطر دارید که هر مقاله ساختار یکسان ولی اطلاعات متفاوتی داشت؟
آنها ساختار را با استفاده از HTML و CSS ایجاد میکنند و سپس از یک API برای پر کردن هر مقاله استفاده میکنند.
چرا باید از API استفاده کنیم؟
شما نمی توانید بفهمید یک API چیست مگر اینکه بدانید API چه کاری میتواند انجام دهد.
تصور کنید که می خواهید یک Web Application ایجاد کنید. بدیهی است که شما Django را انتخاب می کنید.
شما آن را ایجاد می کنید و این یک موفقیت است! چرا که همه Web Application شما را دوست دارند!
آنقدر آن را دوست دارند، که نسخه موبایلش را هم میخواهند!
زمان ایجاد یک نسخه اندروید است! و یک نسخه iOS.
و سپس باید یک کد را 2 بار برای افزودن، مشاهده، حذف، بهروزرسانی و حذف دادهها با زبانهای مختلف تکرار کنید.
که این راه را برای بسیاری از اشتباهات احتمالی باز میکند…
اما با وجود آن، فرض کنید که شما با استفاده از 3 زبان مختلف، برنامه یکسانی را مدیریت و ایجاد کردهاید.
اکنون متوجه میشوید که وب سایت شما static است. شما میخواهید Web Application شما پویاتر و مدرنتر باشد. برای این کار به جاوا اسکریپت نیاز دارید.
در حالی که می توانید این کار را فقط با جاوا اسکریپت Vanilla انجام دهید، بهتر است از یک فریمورک JS به عنوان React یا Vue استفاده کنید.
اکنون باید کاری را که در Django ، آی او اس و اندروید انجام دادید دوباره انجام دهید.
یا می توانید یک REST API ایجاد کنید
با Django Rest Framework ، می توانید یک API برای ارائه اطلاعات به رابط کاربری ایجاد کنید.
شما می توانید با Vue یک FrontEnd ، یک برنامه اندروید و یک برنامه iOS ایجاد کنید، و هر سه پلتفرم مختلف به یک API متصل هستند.
شما فقط باید یک بار منطق (logic) را بسازید و پس از آن هر یک از پلتفرمهای شما به یک API متصل میشوند.
به این ترتیب، اگر می خواهید آن را به روز کنید یا عملکرد بیشتری به آن اضافه کنید، فقط باید از یک طرف تغییر کنید، نه در هر پلتفرم.
اینطوری راحت تره، درسته؟ سادهتر، مقیاس پذیرتر و قابل اطمینانتر هم هست.
Django Rest Framework سنگینی interaction و logic دیتابیس را میگیرد تا فقط اطلاعات را به شما ارائه دهد. مهم نیست از چند پلتفرم استفاده یا چند زبان استفاده میکنید. همه چیز به همین سادگی است.
چرا Django Rest Framework ؟
اکنون می دانیم که REST API ها مهم هستند زیرا به ما اجازه میدهند به روشی آسان با دیتابیس تعامل داشته باشیم و می توانیم از آن در پلتفرمهای مختلفی استفاده کنیم.
اما چرا باید به جای Node.js، Golang، Rust و غیره از Django Rest Framework استفاده کنیم؟
خب، برای شروع، لازم است بگوییم که DRF از Python استفاده میکند، زبانی که یادگیری آن بسیار آسان است.
Django Rest Framework به اندازه Django ، همه چیز را ساده و آسان میکند. آیا Django views را می شناسید؟ شما در Django Rest Framework به آنها نیاز دارید! آیا یک end-point (یک آدرس HTTP) میخواهید که لیستی را با هر کاربر به همراه تمام فیلدهای آنها و دیگری برای ایجاد کاربران جدید به شما برگرداند؟ این کد برای این کار است:
class UserList(generics.ListCreateAPIView):
queryset = User.objects.all()
serializer_class = UserSerializer
شما یک کلاس به نام UserList ایجاد میکنید که متدها را از ListCreateAPIView به ارث می برد.
همانطور که از نام آن مشخص است، می توانید به وسیله آن کاربران را لیستبندی و ایجاد کنید. اگر URL (GET) را بخواهید، لیست کاربران را دریافت میکنید، اگر اطلاعات (POST) را به آن URL ارسال کنید، یک کاربر جدید ایجاد میکند.
3 خط کد. این تمام چیزی است که شما نیاز دارید.
یکی دیگر از نقاط قوت Django Rest Framework این است که در کنار Scrapy، بهترین documentation را برای یک فریمورک Django ، دارد.
موارد فنی بیشتری هم وجود دارند: مانند نحوه مدیریت migrations ها، نحوه داشتن مدل هر شیء، آسان بودن سوئیچکردن دیتابیس و موارد دیگر.
مطمئن باشید، نمیتوانید با Django Rest Framework اشتباه کنید.
سخن پایانی
بیایید همه چیزهایی را که امروز در مورد Rest API و Django Framework یاد گرفتیم را خلاصه کنیم:
REST APIs به ما اجازه میدهند اطلاعات را بین یک رابط و یک دیتابیس به عقب و جلو ارسال کنیم.
ما می توانیم از یک REST API برای تغذیه هر پلتفرمی که میخواهیم استفاده کنیم. این دوگانگی کد را حذف میکند و به escalate آسان آن کمک میکند.
Django Rest Framework از پایتون استفاده می کند، زبانی که یادگیری آن آسان است.
به لطف استفاده از پایتون و نحوه ساختار Django Rest Framework ، برای انجام هر کاری فقط به چند خط نیاز داریم.
documentation آن عالی است.
منابع رایگان زیادی برای آن در اینترنت وجود دارد.
این فریم ورک رابط داخلی فوقالعادهای دارد.
اگر نیاز به ارسال و دریافت داده بین یک برنامه تلفن همراه یا وب دارید، نمیتوانید با Django Rest Framework اشتباه کنید.
چرا همین الان شروع به یادگیری آن نمی کنید؟
Leave feedback about this