🔧 دليل سريع لإنشاء REST API باستخدام Django Rest Framework

🔧 دليل سريع لإنشاء REST API باستخدام Django Rest Framework

إذا كنت تبحث عن طريقة فعالة وسريعة لإنشاء REST API احترافية، فإن Django Rest Framework (DRF) هو الخيار الأمثل لك. في هذا الدليل السريع، سنأخذك خطوة بخطوة لإنشاء REST API قوية باستخدام DRF، بدءًا من إعداد المشروع حتى اختبار الـ API باستخدام أدوات مثل Postman. 

✅ ما هو Django Rest Framework؟

Django Rest Framework هو مكتبة مبنية على إطار العمل الشهير Django، وتوفر أدوات قوية وسهلة لإنشاء واجهات برمجية (APIs) باستخدام REST، مما يسهل التعامل مع البيانات بين الواجهة الخلفية (Back-end) والواجهة الأمامية (Front-end) أو تطبيقات الموبايل.

📦 المتطلبات الأساسية

قبل أن تبدأ، تأكد من أنك تملك:

  • Python مثبتًا (يفضل الإصدار 3.8 أو أحدث)
  • بيئة افتراضية virtualenv (اختياري لكنه موصى به)
  • pip لإدارة الحزم
  • معرفة أساسية بـ Django

⚙️ الخطوة 1: إنشاء مشروع Django

 
django-admin startproject myproject 
cd myproject 
python manage.py startapp api 


📁 الخطوة 2: إعدادات المشروع

في ملف settings.py، أضف التطبيقات التالية:
 INSTALLED_APPS = [ 
  ... 'rest_framework',
  'api', 
  ] 

🧩 الخطوة 3: إنشاء نموذج البيانات (Model)

في ملف models.py داخل تطبيق api، أنشئ نموذجًا بسيطًا:
from django.db import models

class Article(models.Model):
    title = models.CharField(max_length=100)
    content = models.TextField()
    created_at = models.DateTimeField(auto_now_add=True)

    def __str__(self):
        return self.title

ثم شغل الأوامر التالية لإنشاء قاعدة البيانات:
  python manage.py makemigrations
  python manage.py migrate
  

🧰 الخطوة 4: إنشاء Serializer

في ملف جديد serializers.py داخل مجلد api:
from django.db import models

class Article(models.Model):
    title = models.CharField(max_length=100)
    content = models.TextField()
    created_at = models.DateTimeField(auto_now_add=True)

    def __str__(self):
        return self.title
  

🌐 الخطوة 5: إنشاء View باستخدام ViewSets

في ملف views.py:
  from rest_framework import viewsets
  from .models import Article
  from .serializers import ArticleSerializer

  class ArticleViewSet(viewsets.ModelViewSet):
      queryset = Article.objects.all()
      serializer_class = ArticleSerializer
  

🚏 الخطوة 6: إعداد عناوين الروابط (URLs)

في ملف api/urls.py (أنشئه إن لم يكن موجودًا):

  from django.urls import path, include
  from rest_framework.routers import DefaultRouter
  from .views import ArticleViewSet

  router = DefaultRouter()
  router.register(r'articles', ArticleViewSet)

  urlpatterns = [
      path('', include(router.urls)),
  ]

  
ثم اربط هذا الملف في myproject/urls.py:

  from django.contrib import admin
  from django.urls import path, include

  urlpatterns = [
      path('admin/', admin.site.urls),
      path('api/', include('api.urls')),
  ]
  

🧪 الخطوة 7: تجربة الـ API

شغل الخادم:
python manage.py runserver
  

ثم اذهب إلى:
http://127.0.0.1:8000/api/articles/
  

ستتمكن من:
  • عرض جميع المقالات (GET)
  • إضافة مقالة جديدة (POST)
  • تحديث (PUT/PATCH)
  • حذف (DELETE)

🚀 نصائح لتحسين REST API باستخدام DRF

  1. استخدم التصريحات (Permissions): لتأمين الـ API من الاستخدام غير المصرح.
  2. فعّل التصفية والبحث (Filtering & Search): لتحسين تجربة المستخدم.
  3. استخدم Pagination: لتقسيم النتائج على صفحات.
  4. وثّق API باستخدام Swagger أو Postman.

🎯 خاتمة

يُعد Django Rest Framework أداة قوية لإنشاء REST APIs بسرعة وسهولة. سواء كنت تطور مشروعًا بسيطًا أو تطبيقًا معقدًا، فإن DRF يوفر لك الأدوات الكافية لبناء واجهات مرنة وآمنة.



تعليقات