واجهات برمجة تطبيقات الويب الرائعة القابلة للتصفح على الويب.
الوثائق الكاملة للمشروع متاحة على https://www.django-rest-framework.org/.
إطار REST هو مشروع ممول بشكل تعاوني . إذا كنت تستخدم إطار عمل REST تجاريًا، فنحن نشجعك بشدة على الاستثمار في تطويره المستمر من خلال الاشتراك في خطة مدفوعة.
الهدف الأولي هو توفير وظيفة واحدة بدوام كامل في إطار عمل REST. كل اشتراك يحدث تأثيرًا كبيرًا في جعل ذلك ممكنًا.
شكرًا جزيلاً لجميع الرعاة الرائعين لدينا، وعلى وجه الخصوص للداعمين المميزين لدينا، Sentry، Stream، Spacinov، Retool، bit.io، PostHog، CryptAPI، FEZTO، Svix، وZuplo.
إطار عمل Django REST عبارة عن مجموعة أدوات قوية ومرنة لبناء واجهات برمجة تطبيقات الويب.
بعض الأسباب التي قد تجعلك ترغب في استخدام إطار عمل REST:
أدناه : لقطة شاشة من واجهة برمجة التطبيقات القابلة للتصفح
نحن نوصي بشدة وندعم رسميًا فقط أحدث إصدار من التصحيح لكل سلسلة من سلسلة Python وDjango.
التثبيت باستخدام pip
...
pip install djangorestframework
أضف 'rest_framework'
إلى إعداد INSTALLED_APPS
الخاص بك.
INSTALLED_APPS = [
...
'rest_framework' ,
]
دعونا نلقي نظرة على مثال سريع لاستخدام إطار عمل REST لإنشاء واجهة برمجة تطبيقات بسيطة مدعومة بالنموذج للوصول إلى المستخدمين والمجموعات.
ابدأ مشروعًا جديدًا مثل هذا ...
pip install django
pip install djangorestframework
django-admin startproject example .
./manage.py migrate
./manage.py createsuperuser
الآن قم بتحرير الوحدة example/urls.py
في مشروعك:
from django . contrib . auth . models import User
from django . urls import include , path
from rest_framework import routers , serializers , viewsets
# Serializers define the API representation.
class UserSerializer ( serializers . HyperlinkedModelSerializer ):
class Meta :
model = User
fields = [ 'url' , 'username' , 'email' , 'is_staff' ]
# ViewSets define the view behavior.
class UserViewSet ( viewsets . ModelViewSet ):
queryset = User . objects . all ()
serializer_class = UserSerializer
# Routers provide a way of automatically determining the URL conf.
router = routers . DefaultRouter ()
router . register ( r'users' , UserViewSet )
# Wire up our API using automatic URL routing.
# Additionally, we include login URLs for the browsable API.
urlpatterns = [
path ( '' , include ( router . urls )),
path ( 'api-auth/' , include ( 'rest_framework.urls' , namespace = 'rest_framework' )),
]
نود أيضًا تكوين بعض الإعدادات لواجهة برمجة التطبيقات (API) الخاصة بنا.
أضف ما يلي إلى وحدة settings.py
الخاصة بك:
INSTALLED_APPS = [
... # Make sure to include the default installed apps here.
'rest_framework' ,
]
REST_FRAMEWORK = {
# Use Django's standard `django.contrib.auth` permissions,
# or allow read-only access for unauthenticated users.
'DEFAULT_PERMISSION_CLASSES' : [
'rest_framework.permissions.DjangoModelPermissionsOrAnonReadOnly' ,
]
}
هذا كل شيء، لقد انتهينا!
./manage.py runserver
يمكنك الآن فتح واجهة برمجة التطبيقات في متصفحك على http://127.0.0.1:8000/
، وعرض واجهة برمجة التطبيقات "المستخدمين" الجديدة. إذا كنت تستخدم عنصر التحكم Login
الموجود في الزاوية اليمنى العليا، فستتمكن أيضًا من إضافة المستخدمين وإنشائهم وحذفهم من النظام.
يمكنك أيضًا التفاعل مع واجهة برمجة التطبيقات (API) باستخدام أدوات سطر الأوامر مثل curl
. على سبيل المثال، لسرد نقطة نهاية المستخدمين:
$ curl -H 'Accept: application/json; indent=4' -u admin:password http://127.0.0.1:8000/users/
[
{
"url": "http://127.0.0.1:8000/users/1/",
"username": "admin",
"email": "[email protected]",
"is_staff": true,
}
]
أو لإنشاء مستخدم جديد:
$ curl -X POST -d username=new -d [email protected] -d is_staff=false -H 'Accept: application/json; indent=4' -u admin:password http://127.0.0.1:8000/users/
{
"url": "http://127.0.0.1:8000/users/2/",
"username": "new",
"email": "[email protected]",
"is_staff": false,
}
الوثائق الكاملة للمشروع متاحة على https://www.django-rest-framework.org/.
للأسئلة والدعم، استخدم مجموعة مناقشة إطار عمل REST، أو #restframework
على libera.chat IRC.
يرجى الاطلاع على السياسة الأمنية.