برای ساخت API در جنگو و Django REST Framework (DRF)، لازم به ذکر است با تسلط بر DRF شما میتوانید انواع API ها را برای جنگو توسعه دهید، برای پیاده سازی مراحل زیر را دنبال کنید:
سرفصل های مقاله
نصب Django و Django REST Framework
ابتدا Django و Django REST Framework را نصب کنید. میتوانید این کار را با استفاده از pip انجام دهید:
pip install django djangorestframework
۲. ایجاد یک پروژه جدید
برای ایجاد یک پروژه جدید با Django، دستور زیر را در ترمینال اجرا کنید:
django-admin startproject myproject
cd myproject
۳. ایجاد یک اپلیکیشن جدید
از Django برای ایجاد اپلیکیشن استفاده کنید:
python manage.py startapp myapp
۴. افزودن اپلیکیشن به تنظیمات پروژه
پس از ایجاد اپلیکیشن، آن را به تنظیمات پروژه (در settings.py) اضافه کنید:
INSTALLED_APPS = [
...
'rest_framework',
'myapp',
]
۵. تعریف مدلها
در فایل models.py اپلیکیشن، مدلهایی که میخواهید ایجاد کنید، تعریف کنید. به عنوان مثال:
from django.db import models
class Item(models.Model):
name = models.CharField(max_length=100)
description = models.TextField()
def __str__(self):
return self.name
۶. ایجاد و اعمال ماگریشن ها
شما باید ماگریشن ها را برای ایجاد جداول پایگاه داده انجام دهید:
python manage.py makemigrations
python manage.py migrate
۷. تعریف Serializer
در اپلیکیشن خود، یک فایل به نام serializers.py ایجاد کرده و یک Serializer برای مدل خود بنویسید:
from rest_framework import serializers
from .models import Item
class ItemSerializer(serializers.ModelSerializer):
class Meta:
model = Item
fields = '__all__'
۸. ایجاد ViewSet
در فایل views.py، یک ViewSet برای مدل خود ایجاد کنید:
from rest_framework import viewsets
from .models import Item
from .serializers import ItemSerializer
class ItemViewSet(viewsets.ModelViewSet):
queryset = Item.objects.all()
serializer_class = ItemSerializer
۹. تعریف URLها
در فایل urls.py پروژه، URLهایی برای ViewSet خود تعریف کنید. ابتدا باید URLConf برای اپلیکیشن تعریف کنید:
from django.urls import path, include
from rest_framework.routers import DefaultRouter
from .views import ItemViewSet
router = DefaultRouter()
router.register(r'items', ItemViewSet)
urlpatterns = [
path('', include(router.urls)),
]
و سپس، در فایل urls.py اصلی پروژه، این URLها را وارد کنید:
from django.urls import path, include
urlpatterns = [
path('api/', include('myapp.urls')),
]
۱۰. تست API
با استفاده از دستور زیر، سرور را راهاندازی کنید:
python manage.py runserver
اکنون میتوانید به API دسترسی پیدا کنید. برای مثال، برای دسترسی به لیست آیتمها، به آدرس زیر بروید:
http://127...1:800/api/items/
نتیجه گیری
با دنبال کردن مراحل بالا، شما ساخت API در جنگو با استفاده از Django REST Framework انجام دادین. این API به شما امکان میدهد تا عملیات CRUD (ایجاد، خواندن، بهروزرسانی و حذف) را بر روی مدلهای خود انجام دهید. میتوانید برای افزودن ویژگیهای بیشتر مانند احراز هویت، مجوزها و غیره، مطالعه بیشتری در مورد Django REST Framework انجام دهید.