ساخت API در Django
در این بخش به بررسی نحوه ساخت API در Django می پردازیم، در دنیای امروز، برنامهنویسان و توسعهدهندگان نیاز دارند دادهها را به شکلی کارآمد و ایمن میان سیستمهای مختلف تبادل کنند. یکی از راههای محبوب برای این کار استفاده از API (رابط برنامهنویسی کاربردی) است که به برنامهها اجازه میدهد بدون نیاز به واسطه مستقیم، با یکدیگر ارتباط برقرار کنند. API ها نه تنها به نرمافزارها امکان میدهند که دادهها را به اشتراک بگذارند، بلکه توسعهدهندگان را قادر میسازند تا برنامههای خود را به سادگی و بدون تغییرات عمده گسترش دهند.
یکی از فریمورکهای پرطرفدار برای ساخت API در Django، “Django REST Framework” (یا به اختصار DRF) است. این فریمورک یک ابزار قدرتمند و انعطافپذیر برای توسعه API در Django فراهم میکند. در این مقاله، به شما نحوه ساخت یک API ساده با استفاده از Django REST Framework را آموزش میدهیم. مراحل مختلف ایجاد API را با مثالها و توضیحات دقیق بیان میکنیم تا به سادگی و با کمترین پیچیدگی بتوانید API خود را پیادهسازی کنید.
نصب و پیکربندی Django REST Framework
برای شروع کار با Django REST Framework، ابتدا نیاز داریم که این فریمورک را نصب کنیم و تنظیمات اولیه را انجام دهیم. این مراحل ساده شامل نصب بسته و اضافه کردن آن به تنظیمات پروژه میشود.
نصب Django REST Framework
فرض میکنیم که Django و پایگاه داده شما قبلاً تنظیم شدهاند. برای نصب Django REST Framework، دستور زیر را در ترمینال اجرا کنید:
pip install djangorestframework
این دستور، بسته مورد نیاز را از PyPI دانلود و در پروژه شما نصب میکند.
اضافه کردن به تنظیمات Django
پس از نصب، باید Django REST Framework را در فایل settings.py
پروژه خود فعال کنید. برای این کار، به قسمت INSTALLED_APPS
در فایل settings.py
رفته و کد زیر را به آن اضافه کنید:
INSTALLED_APPS = [
...
'rest_framework',
]
با انجام این مرحله، فریمورک REST برای استفاده در پروژه شما فعال خواهد شد. اکنون، شما آمادهاید که اولین API خود را بسازید.
تعریف مدل دادهای
پیش از ساختن API، نیاز داریم که یک مدل دادهای تعریف کنیم تا بتوانیم دادههای مربوط به آن را از طریق API مدیریت کنیم. در این مثال، فرض میکنیم که یک مدل به نام Book
داریم که اطلاعات کتابها را ذخیره میکند.
ساخت مدل Book
برای ساخت این مدل، به فایل models.py
در یکی از اپلیکیشنهای Django خود رفته و کد زیر را اضافه کنید:
این مدل شامل چهار فیلد است: title
(عنوان کتاب)، author
(نویسنده)، published_date
(تاریخ انتشار) و isbn
(شناسه کتاب). حالا که مدل را ساختیم، باید پایگاه داده را بروز کنیم.
اجرای مهاجرتها
برای ایجاد جدولهای مرتبط با مدلها در پایگاه داده، باید مهاجرتها را اجرا کنیم. دستورهای زیر را در ترمینال وارد کنید:
python manage.py makemigrations
python manage.py migrate
با اجرای این دستورات، مدل Book
در پایگاه داده ایجاد میشود و اکنون میتوانیم دادههای مربوط به آن را از طریق API مدیریت کنیم.
ساخت Serializer
Serializer ها در Django REST Framework برای تبدیل دادههای مدل به فرمت JSON و بالعکس استفاده میشوند. به عبارت دیگر، Serializer ها نقش پل ارتباطی میان دادههای پایگاه داده و API را ایفا میکنند.
ایجاد Serializer برای مدل Book
به فایل جدیدی به نام serializers.py
در اپلیکیشن خود رفته و کد زیر را اضافه کنید:
کلاس BookSerializer
از serializers.ModelSerializer
به ارث میبرد و به ما اجازه میدهد تا به سادگی مدل Book
را به JSON تبدیل کنیم. این Serializer فیلدهای id
, title
, author
, published_date
, و isbn
را برای API فراهم میکند.
ساخت View برای API
در این بخش، باید یک View برای API تعریف کنیم تا کاربران بتوانند درخواستهای مختلف مانند ایجاد، مشاهده، بروزرسانی و حذف دادهها را ارسال کنند. Django REST Framework دو نوع ویو برای این منظور فراهم میکند: View-based API و Class-based API. در این مثال از کلاسهای ویو استفاده خواهیم کرد.
ایجاد View برای مدل Book
به فایل views.py
رفته و کد زیر را اضافه کنید:
کلاس BookViewSet
از viewsets.ModelViewSet
به ارث میبرد و به ما امکان میدهد تا یک API کامل برای عملیات CRUD (ایجاد، خواندن، بروزرسانی و حذف) بر روی مدل Book
فراهم کنیم.
پیکربندی URL ها
در آخرین مرحله، نیاز داریم که مسیرهای مربوط به API را در فایل URLهای پروژه اضافه کنیم تا کاربران بتوانند به API دسترسی داشته باشند.
اضافه کردن مسیر API به URL ها
در فایل urls.py
اپلیکیشن خود، کد زیر را اضافه کنید:
اینجا از DefaultRouter
استفاده کردهایم که به طور خودکار مسیرهای مورد نیاز برای API CRUD را ایجاد میکند. این تنظیمات به شما اجازه میدهد که از آدرس /books/
برای مشاهده لیست کتابها و انجام عملیات مختلف استفاده کنید.
با استفاده از مراحل بالا، شما موفق به ساخت یک API کامل با Django REST Framework شدهاید. این API به شما امکان میدهد تا به سادگی دادههای خود را مدیریت کرده و از قابلیتهای گسترده Django REST Framework بهرهمند شوید. این مثال ساده پایهای برای ساخت APIهای پیچیدهتر و مدیریت دادههای بیشتری فراهم میکند.
آیا این مطلب برای شما مفید بود ؟