ديجانغو هو إطار عمل ويب بلغة بايثون مصمم لمساعدة المطورين في بناء تطبيقات الويب بسرعة وسهولة. إنه مجاني ومفتوح المصدر ويحتوي على مجتمع كبير ونشط من المطورين.
هل تريد تعلم كيفية إنشاء واختبار واجهة برمجة تطبيقات ديجانغو التي يمكنها إرسال واستقبال بيانات JSON؟ إذا كانت الإجابة بنعم، فأنت في المكان المناسب. بنهاية هذا المنشور، ستكون قادرًا على إنشاء واختبار واجهة برمجة تطبيقات ديجانغو التي يمكنها إرسال واستقبال بيانات JSON كمحترف. هيا نبدأ!
يمكنك أيضًا فحص الرؤوس وملفات تعريف الارتباط وأكواد الحالة والتفاصيل الأخرى للاستجابة. كما يسمح لك أبيدوغ بتعديل بيانات الاستجابة باستخدام JavaScript، وتصفية البيانات باستخدام JSONPath، والتحقق من صحة البيانات باستخدام JSON Schema.
ما هو JSON؟
JSON تعني ترميز كائنات JavaScript. إنه تنسيق موحد لتمثيل البيانات المهيكلة. إنه تنسيق نصّي يستخدم نصًا يمكن قراءته بواسطة الإنسان لتخزين ونقل كائنات البيانات التي تتكون من أزواج الصفة والقيمة والمصفوفات (أو قيم أخرى قابلة للتسلسل). يتم استخدام JSON بشكل شائع لنقل البيانات في تطبيقات الويب، مثل إرسال البيانات من الخادم إلى العميل، أو العكس.
يمكن أن يمثل JSON ستة أنواع من البيانات بشكل أصلي: نصوص، أرقام، قيم منطقية، null، مصفوفات، وكائنات. على سبيل المثال، إليك تمثيل JSON لمشاركة:
{
"id": 1001,
"title": "ما هو JSON؟",
"author": {
"id": 1,
"name": "جيمس ووكر"
},
"tags": [
"api",
"json",
"برمجة"
],
"published": false,
"publishedTimestamp": null
}
يوضح هذا المثال جميع أنواع بيانات JSON. كما يوضح اختصار بيانات JSON، وهي واحدة من الخصائص التي جعلتها جذابة للاستخدام في واجهات برمجة التطبيقات.
أساسيات طريقة طلب POST
طريقة طلب POST هي نوع من طلبات HTTP المستخدمة لإرسال البيانات إلى خادم لإنشاء أو تحديث مورد. يتم استخدامها عادةً لتحميل الملفات أو تقديم النماذج المكتملة. تطلب هذه الطريقة من خادم الويب قبول البيانات المضمنة في جسم رسالة الطلب، عادةً لأغراض التخزين.
يستخدم JSON، اختصارًا لرمز كائنات JavaScript، بشكل متكرر في طلبات POST بسبب قدرته على نقل البيانات المهيكلة إلى خادم. يمكّن هذا التنسيق الهيكلي التفسير والمعالجة السهلة من قبل الخادم، خاصة عند إنشاء أو تحديث الموارد.
يجعل التنسيق القياسي لـ JSON لتمثيل الكائنات والبيانات منه خيارًا شائعًا لإرسال البيانات في طلبات POST. من خلال استخدام JSON، يمكن للمطورين التأكد من أن البيانات المرسلة إلى الخادم منظمّة بشكل جيد وسهلة الفهم، مما يعزز كفاءة إنشاء الموارد وتحديثها.

ما هو ديجانغو ولماذا يجب عليك استخدامه؟
ديجانغو هو إطار عمل ويب يساعدك في بناء تطبيقات الويب بسرعة وسهولة. إنه مكتوب بلغة بايثون ويتبع نمط نموذج-عرض-نموذج (MVT). يوفر العديد من الميزات والأدوات، مثل:
- واجهة إدارة مدمجة تتيح لك إدارة بياناتك ومواردك البشرية
- ORM قوي يتيح لك التفاعل مع قواعد بيانات مختلفة باستخدام كود بايثون
- محول URL مرن يتيح لك تعيين الروابط إلى العروض
- محرك قوالب يتيح لك إنشاء صفحات HTML ديناميكية باستخدام كود بايثون والمتغيرات
- إطار عمل للنماذج يتيح لك إنشاء والتحقق من صحة النماذج عبر الويب
- إطار عمل للاختبار يتيح لك كتابة وتشغيل الاختبارات الآلية
- إطار عمل للأمان يحمي تطبيق الويب الخاص بك من الهجمات الشائعة، مثل CSRF وXSS وحقن SQL، إلخ.

يعد ديجانغو إطار عمل رائع لأي شخص يرغب في بناء تطبيقات الويب، سواء كنت مبتدئًا أو خبيرًا. إنه يساعدك على:
- تطوير تطبيقات الويب أسرع وأسهل من خلال توفير الكثير من الوظائف خارج الصندوق
- كتابة كود نظيف وسهل الصيانة من خلال اتباع مبادئ DRY (لا تكرر نفسك) وKISS (اجعلها بسيطة، غبية)
- توسيع تطبيق الويب الخاص بك بسهولة باستخدام ميزات التخزين المؤقت والوسائط والنشر في ديجانغو
- تعلم وتحسين مهاراتك في بايثون وتطوير الويب من خلال استخدام الوثائق الشاملة وموارد المجتمع في ديجانغو
كيفية إعداد مشروع ديجانغو لجلب بيانات JSON للمشاركة
لإنشاء واختبار واجهة برمجة تطبيقات ديجانغو التي يمكنها إرسال واستقبال بيانات JSON، تحتاج إلى إعداد مشروع ديجانغو وإنشاء تطبيق API بسيط.
تثبيت ديجانغو
عليك أيضًا تثبيت بعض التبعيات والأدوات، مثل:
- بايثون: لغة البرمجة التي يعتمد عليها ديجانغو. يمكنك تنزيل وتثبيت بايثون من الموقع الرسمي: https://www.python.org/
- Pip: مدير الحزم الذي يتيح لك تثبيت وإدارة حزم بايثون. يمكنك تثبيت Pip من خلال اتباع التعليمات من الموقع الرسمي: https://pip.pypa.io/en/stable/installing/
- Virtualenv: الأداة التي تتيح لك إنشاء وإدارة بيئات بايثون المعزولة. يمكنك تثبيت Virtualenv عن طريق تشغيل الأمر التالي في طرفيتك:
pip install virtualenv
- ديجانغو: إطار العمل الذي ستستخدمه لإنشاء تطبيق الويب الخاص بك. يمكنك تثبيت ديجانغو عن طريق تشغيل الأمر التالي في طرفيتك:
pip install django
- إطار عمل REST لـ ديجانغو: المكتبة التي تتيح لك إنشاء واختبار واجهات برمجة التطبيقات RESTful باستخدام ديجانغو. يمكنك تثبيت إطار عمل REST لـ ديجانغو عن طريق تشغيل الأمر التالي في طرفيتك:
pip install djangorestframework
بعد تثبيت هذه التبعيات والأدوات، يمكنك إنشاء مشروع ديجانغو عن طريق تشغيل الأمر التالي في طرفيتك:
django-admin startproject django_post_json
سيقوم هذا الأمر بإنشاء مجلد باسم django_post_json يتضمن الملفات والمجلدات التالية:
django_post_json: المجلد الرئيسي الذي يحتوي على إعدادات المشروع وملفات التكوين، مثلsettings.pyوurls.pyوwsgi.py، إلخ.manage.py: السكربت الذي يتيح لك تشغيل أوامر ومهام متنوعة لمشروعك، مثلrunserverوmigrateوtest، إلخ.db.sqlite3: ملف قاعدة البيانات الافتراضي الذي يستخدمه ديجانغو لتخزين بياناتك.

إنشاء واجهة برمجة التطبيقات الخاصة بـ ديجانغو
يمكنك أيضًا إنشاء تطبيق API بسيط عن طريق تشغيل الأمر التالي في طرفيتك:
python manage.py startapp api
سيقوم هذا الأمر بإنشاء مجلد باسم api يتضمن الملفات والمجلدات التالية:
migrations: المجلد الذي يحتوي على الملفات التي تتتبع التغييرات في مخطط قاعدة البيانات الخاص بك__init__.py: الملف الذي يحدد المجلد كحزمة بايثونadmin.py: الملف الذي يتيح لك تسجيل نماذجك مع واجهة إدارة ديجانغوapps.py: الملف الذي يحتوي على تكوين تطبيقكmodels.py: الملف الذي يتيح لك تعريف نماذج بياناتكtests.py: الملف الذي يتيح لك كتابة وتشغيل اختبارات لتطبيقكviews.py: الملف الذي يتيح لك تعريف العروض والمنطق الخاص بتطبيقك
عليك أيضًا إضافة تطبيقك إلى قائمة INSTALLED_APPS في ملف settings.py لمشروعك. يمكنك القيام بذلك بإضافة السطر التالي في نهاية القائمة:
'api.apps.ApiConfig',
عليك أيضًا إضافة إطار عمل REST لـ ديجانغو إلى قائمة INSTALLED_APPS. يمكنك القيام بذلك بإضافة السطر التالي في نهاية القائمة:
'rest_framework',
لقد قمت الآن بإعداد مشروع ديجانغو وأنشأت تطبيق API بسيط. يمكنك تشغيل مشروعك عن طريق تشغيل الأمر التالي في طرفيتك:
python manage.py runserver
سيقوم هذا الأمر بتشغيل خادم تطوير يمكنك الوصول إليه من متصفحك على http://127.0.0.1:8000/. يجب أن ترى صفحة تحتوي على العبارة "تم التثبيت بنجاح! تهانينا!"
كيفية إنشاء عرض لجلب بيانات JSON للمشاركة في ديجانغو
لإنشاء واختبار واجهة برمجة تطبيقات ديجانغو التي يمكنها إرسال واستقبال بيانات JSON، تحتاج إلى إنشاء عرض وعنوان URL لنقطة نهاية API. العرض هو دالة أو فئة بايثون تتعامل مع الطلب والاستجابة لعنوان URL معين. تحدد المنطق والسلوك لتطبيقك. عنوان URL هو سلسلة تربط بعرض. تحدد العنوان ونمط تطبيقك.
- الحصول على قائمة بجميع الرسائل بتنسيق JSON
- إنشاء رسالة جديدة بتنسيق JSON
- الحصول على رسالة واحدة بتنسيق JSON
- تحديث رسالة واحدة بتنسيق JSON
- حذف رسالة واحدة بتنسيق JSON
كيفية إنشاء عرض لـ ديجانغو الخاص بك
يمكنك إنشاء عرض لهذه نقطة نهاية API في ملف views.py لتطبيقك. يمكنك القيام بذلك بإضافة الكود التالي إلى الملف:
from rest_framework import generics
from .models import Message
from .serializers import MessageSerializer
class MessageListCreateView(generics.ListCreateAPIView):
queryset = Message.objects.all()
serializer_class = MessageSerializer
class MessageRetrieveUpdateDestroyView(generics.RetrieveUpdateDestroyAPIView):
queryset = Message.objects.all()
serializer_class = MessageSerializer
سيقوم هذا الكود بإنشاء عرضين يرثان من العروض العامة لإطار العمل REST لـ ديجانغو. سيتم التعامل مع طلبات GET وPOST لقائمة الرسائل بواسطة عرض MessageListCreateView. بينما سيتعامل عرض MessageRetrieveUpdateDestroyView مع طلبات GET وPUT وPATCH وDELETE لرسالة واحدة.
سيستخدم كلا العرضين خصائص queryset وserializer_class لتحديد مصدر البيانات وتنسيق البيانات. يمكنك معرفة المزيد عن العروض العامة وطرقها من وثائق إطار العمل REST لـ ديجانغو: https://www.django-rest-framework.org/api-guide/generic-views/
يمكنك أيضًا إنشاء عنوان URL لهذه نقطة نهاية API في ملف urls.py لتطبيقك. يمكنك إنشاء هذا الملف في نفس المجلد مثل ملف views.py الخاص بك. يمكنك القيام بذلك بإضافة الكود التالي إلى الملف:
from django.urls import path
from .views import MessageListCreateView, MessageRetrieveUpdateDestroyView
urlpatterns = [
path('messages/', MessageListCreateView.as_view(), name='message-list'),
path('messages/<int:pk>/', MessageRetrieveUpdateDestroyView.as_view(), name='message-detail'),
]
سيقوم هذا الكود بإنشاء نمطين للعنوان URL يرتبطان بالعروض التي أنشأتها. ستطابق النمط الأول عنوان URL /messages/ وسيستخدم عرض MessageListCreateView. بينما سيتطابق النمط الثاني مع عنوان URL /messages/<int:pk>/ وسيستخدم عرض MessageRetrieveUpdateDestroyView. الجزء <int:pk> هو محول المسار الذي سيقوم بالتقاط قيمة صحيحة وتمريرها إلى العرض كوسيط pk. ستستخدم هذه القيمة لتحديد كائن الرسالة الذي سيعمل عليه العرض. يمكنك أيضًا إضافة وسيط name إلى كل نمط لإعطائه معرفًا فريدًا يمكنك استخدامه للإشارة إلى العنوان URL في كودك.
كيفية إنشاء عنوان URL لديكجانغو الخاص بك
عليك أيضًا تضمين أنماط عنوان URL لتطبيقك في ملف urls.py لمشروعك. يمكنك القيام بذلك بإضافة الكود التالي إلى الملف:
from django.urls import path, include
urlpatterns = [
path('api/', include('api.urls')),
]
سيقوم هذا الكود بإنشاء نمط عنوان URL سيتطابق مع عنوان URL /api/ وسيتضمن أنماط عنوان URL لتطبيقك. بهذه الطريقة، يمكنك إنشاء مساحة أسماء لتطبيقك وتجنب أي تعارضات مع التطبيقات الأخرى أو عناوين URLs. يمكنك أيضًا إضافة شرطة مائلة في نهاية عنوان URL لجعله متسقًا وتجنب أي مشاكل في إعادة التوجيه.
لقد أنشأت الآن عرضًا وعنوان URL لنقطة نهاية API. يمكنك اختبار واجهة برمجة التطبيقات الخاصة بك عن طريق تشغيل الأمر التالي في طرفيتك:
python manage.py runserver
سيقوم هذا الأمر بتشغيل خادم تطوير يمكنك الوصول إليه من متصفحك على http://127.0.0.1:8000/. يمكنك أيضًا استخدام أبيدوغ، وهي أداة قائمة على الويب تتيح لك اختبار وتصحيح واجهات برمجة التطبيقات بسهولة، لاختبار واجهة برمجة التطبيقات الخاصة بك. سأوضح لك كيفية القيام بذلك في القسم التالي.
التعامل مع بيانات JSON للمشاركة في ديجانغو
التعامل مع بيانات JSON للمشاركة في ديجانغو هو مهمة شائعة لمطوري الويب الذين يرغبون في إنشاء واختبار واجهات برمجة التطبيقات RESTful. يوفر ديجانغو ميزات وأدوات متنوعة لمساعدتك في هذه المهمة، مثل:
- خاصية
request.bodyالتي تتيح لك الوصول إلى البيانات الخام لجسم الطلب كبايت. يمكنك استخدام وحدةjsonلتحليل البيانات إلى قاموس بايثون. على سبيل المثال، يمكنك كتابة الكود التالي في عرضك:
import json
from django.http import JsonResponse
def my_view(request):
if request.method == 'POST':
data = json.loads(request.body) # تحليل بيانات JSON إلى قاموس
# القيام بشيء ما مع البيانات
return JsonResponse(data) # إرجاع البيانات كاستجابة JSON
- فئة
JsonResponseالتي تتيح لك إرجاع استجابة يتم تسلسلها إلى تنسيق JSON. يمكنك تمرير قاموس بايثون أو قائمة كأول وسيط، ويمكنك تحديد وسائط أخرى، مثلstatusوsafeوjson_dumps_params، إلخ. على سبيل المثال، يمكنك كتابة الكود التالي في عرضك:
from django.http import JsonResponse
def my_view(request):
if request.method == 'GET':
data = {'name': 'أليس', 'email': 'alice@example.com'} # إنشاء قاموس
return JsonResponse(data, status=200, safe=True) # إرجاع القاموس كاستجابة JSON
- إطار عمل REST لـ ديجانغو، وهو مكتبة طرف ثالث تتيح لك إنشاء واختبار واجهات برمجة التطبيقات RESTful باستخدام ديجانغو. يوفر لك ميزات وأدوات متنوعة، مثل المتسلسلات والعروض العامة والموصلات والأذونات والمصادقة، إلخ. على سبيل المثال، يمكنك كتابة الكود التالي في ملف
serializers.pyالخاص بك:
from rest_framework import serializers
from .models import Message
class MessageSerializer(serializers.ModelSerializer):
class Meta:
model = Message
fields = ['name', 'email', 'message']
سيقوم هذا الكود بإنشاء متسلسل يقوم بتحويل نموذج Message الخاص بك إلى تنسيق JSON والعكس. يمكنك معرفة المزيد عن إطار عمل REST لـ ديجانغو وميزاته وأدواته من هذا المقال:

هذه بعض التقنيات المتقدمة للتعامل مع بيانات JSON للمشاركة في ديجانغو. يمكنك استخدامها لإنشاء واختبار واجهات برمجة التطبيقات الخاصة بك في ديجانغو التي يمكنها إرسال واستقبال بيانات JSON.
استرجاع بيانات JSON للمشاركة في ديجانغو باستخدام أبيدوغ
يعد أبيدوغ أداة رائعة لأي شخص يعمل مع واجهات برمجة التطبيقات، سواء كنت مطوراً أو مختبراً أو مصمماً أو طالباً. إنها تساعدك على:
- تعلم كيفية استخدام واجهات برمجة التطبيقات المختلفة واستكشاف ميزاتها
- اختبار وتصحيح واجهات برمجة التطبيقات الخاصة بك والعثور على الأخطاء والعيوب
- تجربة مع معلمات وخيارات مختلفة ورؤية كيف تؤثر على الاستجابة
- توثيق وإظهار استخدام واجهة برمجة التطبيقات الخاصة بك ونتائجها
- التعاون والتواصل مع مستخدمي واجهات برمجة التطبيقات والمطورين الآخرين
لاختبار واجهة برمجة التطبيقات الخاصة بك في ديجانغو التي يمكنها إرسال واستقبال بيانات JSON باستخدام أبيدوغ، تحتاج إلى اتباع هذه الخطوات:
- قم بزيارة موقع أبيدوغ وأنشئ حساباً مجانياً. يمكنك أيضاً استخدام أبيدوغ دون حساب، ولكن لن تتمكن من حفظ ومشاركة طلباتك. افتح أبيدوغ وأنشئ طلبًا جديدًا.

- اختر طريقة HTTP التي تريد استخدامها. على سبيل المثال، إذا كنت ترغب في الحصول على قائمة الرسائل، يمكنك اختيار طريقة GET. إذا كنت ترغب في إنشاء رسالة جديدة، يمكنك اختيار طريقة POST.

- أدخل عنوان URL لنقطة نهاية واجهة برمجة التطبيقات الخاصة بك في حقل إدخال URL. أضف أي رؤوس أو ملفات تعريف ارتباط أو معلمات تحتاجها لطلبك. على سبيل المثال، إذا كنت ترغب في إنشاء رسالة جديدة، ستحتاج إلى إضافة رأس
Content-Typeمع القيمةapplication/jsonوكتابة البيانات بتنسيق JSON في حقل الجسم. على سبيل المثال، يمكنك كتابة البيانات التالية:

- اضغط على زر إرسال لإرسال الطلب إلى واجهة برمجة التطبيقات الخاصة بك. سيعرض أبيدوغ بعد ذلك الاستجابة من واجهة برمجة التطبيقات الخاصة بك في علامة الاستجابة. يمكنك أيضًا التبديل إلى علامات الرؤوس وملفات تعريف الارتباط أو البيانات الخام لرؤية تفاصيل أخرى للاستجابة.

- تحليل وتعديل بيانات الاستجابة باستخدام ميزات وأدوات أبيدوغ. يمكنك استخدام عارض JSON وJSONPath وJavaScript وJSON Schema، وغيرها من الميزات والأدوات لعرض أو تصفية أو تعديل أو التحقق من صحة بيانات الاستجابة. يمكنك أيضًا حفظ طلبك واستجابته ومشاركتها مع الآخرين باستخدام عنوان URL فريد.
لقد اختبرت الآن واجهة برمجة التطبيقات الخاصة بك في ديجانغو التي يمكنها إرسال واستقبال بيانات JSON باستخدام أبيدوغ. يمكنك أيضًا اختبار نقاط نهاية واجهة برمجة التطبيقات والأساليب الأخرى باستخدام نفس الخطوات. يمكنك أيضًا استخدام أبيدوغ لاختبار واجهات برمجة التطبيقات الأخرى التي تجدها عبر الإنترنت أو تنشئها بنفسك. أبيدوغ أداة متعددة الاستخدامات وقوية يمكن أن تساعدك في أي مهمة تتعلق بواجهات برمجة التطبيقات. يمكنك معرفة المزيد عن أبيدوغ وميزاته وأدواته من الموقع الرسمي:
الخاتمة
في هذه المدونة، أظهرت لك كيفية إنشاء واختبار واجهة برمجة تطبيقات ديجانغو التي يمكنها إرسال واستقبال بيانات JSON. لقد تعلمت كيفية:
- إعداد مشروع ديجانغو وإنشاء تطبيق API بسيط
- تعريف نموذج ومتسلسل للبيانات JSON
- إنشاء عرض وعنوان URL لنقطة نهاية واجهة برمجة التطبيقات
- اختبار واجهة برمجة التطبيقات باستخدام أبيدوغ، وهي أداة قائمة على الويب تسمح لك باختبار وتصحيح واجهات برمجة التطبيقات بسهولة
- تحليل وتعديل بيانات JSON باستخدام ميزات وأدوات أبيدوغ
آمل أن تجد هذه المدونة ملهمة ومفيدة. يمكنك استخدام المهارات والمعرفة التي اكتسبتها من هذه المدونة لإنشاء واختبار واجهات برمجة التطبيقات الخاصة بك في ديجانغو التي يمكنها إرسال واستقبال بيانات JSON.
يمكنك أيضًا استخدام أبيدوغ لاختبار وتصحيح أي واجهات برمجة التطبيقات الأخرى التي تواجهها أو تنشئها. أبيدوغ أداة مفيدة ومساعدة يمكن أن تجعل تطوير واجهات برمجة التطبيقات واختبارها أسهل وأسرع.
