🔧 دليل سريع لإنشاء REST API باستخدام Django Rest Framework
بايثون
python
إذا كنت تبحث عن طريقة فعالة وسريعة لإنشاء 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
- استخدم التصريحات (Permissions): لتأمين الـ API من الاستخدام غير المصرح.
- فعّل التصفية والبحث (Filtering & Search): لتحسين تجربة المستخدم.
- استخدم Pagination: لتقسيم النتائج على صفحات.
- وثّق API باستخدام Swagger أو Postman.
🎯 خاتمة
يُعد Django Rest Framework أداة قوية لإنشاء REST APIs بسرعة وسهولة. سواء كنت
تطور مشروعًا بسيطًا أو تطبيقًا معقدًا، فإن DRF يوفر لك الأدوات الكافية لبناء
واجهات مرنة وآمنة.
تعليقات
إرسال تعليق