API Web mengagumkan yang dapat dijelajahi web.
Dokumentasi lengkap untuk proyek tersedia di https://www.django-rest-framework.org/.
Kerangka kerja REST adalah proyek yang didanai secara kolaboratif . Jika Anda menggunakan kerangka kerja REST secara komersial, kami sangat menganjurkan Anda untuk berinvestasi dalam pengembangan lanjutannya dengan mendaftar ke paket berbayar.
Tujuan awalnya adalah untuk menyediakan satu posisi penuh waktu pada kerangka REST. Setiap pendaftaran memberikan dampak signifikan dalam mewujudkan hal tersebut.
Terima kasih banyak kepada semua sponsor kami yang luar biasa, dan khususnya kepada pendukung premium kami, Sentry, Stream, Spacinov, Retool, bit.io, PostHog, CryptAPI, FEZTO, Svix, dan Zuplo.
Kerangka kerja Django REST adalah perangkat yang kuat dan fleksibel untuk membangun API Web.
Beberapa alasan Anda mungkin ingin menggunakan kerangka REST:
Di bawah : Tangkapan layar dari API yang dapat dijelajahi
Kami sangat merekomendasikan dan hanya secara resmi mendukung rilis patch terbaru dari setiap seri Python dan Django.
Instal menggunakan pip
...
pip install djangorestframework
Tambahkan 'rest_framework'
ke pengaturan INSTALLED_APPS
Anda.
INSTALLED_APPS = [
...
'rest_framework' ,
]
Mari kita lihat contoh singkat penggunaan kerangka REST untuk membangun API sederhana yang didukung model untuk mengakses pengguna dan grup.
Memulai proyek baru seperti itu...
pip install django
pip install djangorestframework
django-admin startproject example .
./manage.py migrate
./manage.py createsuperuser
Sekarang edit modul example/urls.py
di proyek Anda:
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' )),
]
Kami juga ingin mengonfigurasi beberapa pengaturan untuk API kami.
Tambahkan yang berikut ini ke modul settings.py
Anda:
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' ,
]
}
Itu saja, kita sudah selesai!
./manage.py runserver
Anda sekarang dapat membuka API di browser Anda di http://127.0.0.1:8000/
, dan melihat API 'pengguna' baru Anda. Jika Anda menggunakan kontrol Login
di sudut kanan atas, Anda juga dapat menambah, membuat, dan menghapus pengguna dari sistem.
Anda juga dapat berinteraksi dengan API menggunakan alat baris perintah seperti curl
. Misalnya, untuk membuat daftar titik akhir pengguna:
$ 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,
}
]
Atau untuk membuat pengguna baru:
$ 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,
}
Dokumentasi lengkap untuk proyek tersedia di https://www.django-rest-framework.org/.
Untuk pertanyaan dan dukungan, gunakan grup diskusi kerangka REST, atau #restframework
di libera.chat IRC.
Silakan lihat kebijakan keamanan.