ما هي API؟
جزء من قسم واجهات API بصيغة JSON في رحلة Django على Coddy. الدرس 1 من 19.
تعيد العروض التي كتبتها حتى الآن صفحات يقرأها الأشخاص. أما API (واجهة برمجة التطبيقات) فتعيد بيانات للبرامج. يطلب تطبيق على الهاتف أو نص برمجي أو JavaScript في صفحة عنوان URL، ويحصل على بيانات بدلًا من HTML.
تكون هذه البيانات عادةً بصيغة JSON، وهي نصوص تشبه القواميس والقوائم في Python، مع علامات اقتباس مزدوجة وtrue وfalse وnull بدلًا من True وFalse وNone في Python:
{"title": "Buy milk", "done": false, "due": null}يحوّل Django القاموس إلى استجابة JSON باستخدام JsonResponse:
from django.http import JsonResponse
def hello(request):
return JsonResponse({"message": "Hi", "ready": True})يكتب JSON ويضبط ترويسة Content-Type على application/json. والترويسة سطر من المعلومات يُرسل مع الاستجابة؛ وتخبر هذه الترويسة البرنامج بنوع البيانات التي تلقاها.
التحدي
سهلأضف إلى متتبع المهام نقطة النهاية الأولى، وهي عنوان URL يستجيب بأرقام بدلًا من صفحة.
- في
tasks/views.py، استوردJsonResponseمنdjango.httpوأضف عرضًا باسمstatsيستجيب ببيانات JSON:total، وهو عدد المهام، وdone، وهو عدد المهام المنجزة. - في
tasks/urls.py، أضف المسار"api/stats/"بالاسمstats.
اضغط «تشغيل»: ستفتح المعاينة /api/stats/ وتعرض {"total": 3, "done": 1}.
جرّب بنفسك
from django.shortcuts import render
from .models import Task
def home(request):
return render(request, "tasks/home.html", {"tasks": Task.objects.all()})
جميع دروس واجهات API بصيغة JSON
تدرّب بنفسك: Playground لـ Django