Rumah >pembangunan bahagian belakang >Tutorial Python >Membina API RESTful menggunakan Django
Django ialah rangka kerja web yang memudahkan untuk membina API RESTful. RESTful API ialah seni bina berasaskan web yang boleh diakses melalui protokol HTTP. Dalam artikel ini, kami akan membincangkan cara menggunakan Django untuk membina API RESTful, termasuk cara menggunakan rangka kerja Django REST untuk memudahkan proses pembangunan.
Mula-mula, kita perlu memasang Django secara setempat. Anda boleh menggunakan pip untuk memasang Django Perintah khusus adalah seperti berikut:
pip install Django
Selepas memasang Django, kita boleh mencipta projek Django dengan menjalankan arahan berikut:
django-admin startproject projectname
Di mana, projectname
ialah nama projek yang anda ingin buat.
Projek Django terdiri daripada aplikasi. Kita perlu mencipta aplikasi dalam projek untuk membina API RESTful. Anda boleh mencipta apl dengan menjalankan arahan berikut:
python manage.py startapp appname
di mana appname
ialah nama apl yang ingin anda cipta.
Secara lalai, Django menggunakan SQLite sebagai pangkalan data lalainya. Jika anda ingin menukar pangkalan data, anda boleh mengkonfigurasinya dalam fail settings.py
projek.
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.postgresql', 'NAME': 'mydatabase', 'USER': 'mydatabaseuser', 'PASSWORD': 'mypassword', 'HOST': '127.0.0.1', 'PORT': '5432', } }
Dalam Django, model ialah kelas yang digunakan untuk mengekalkan data. Kita perlu mencipta model yang dikaitkan dengan API RESTful.
from django.db import models class Article(models.Model): title = models.CharField(max_length=200) content = models.TextField() created_at = models.DateTimeField(auto_now_add=True)
Dalam contoh ini, kami telah mencipta model bernama Article
yang mempunyai medan title
, content
dan created_at
.
Serializer digunakan untuk mensirikan model ke dalam format JSON untuk dihantar kepada pelanggan. Proses ini boleh dipermudahkan menggunakan penyeri bersiri yang disediakan oleh rangka kerja Django REST.
from rest_framework import serializers from .models import Article class ArticleSerializer(serializers.ModelSerializer): class Meta: model = Article fields = ('id', 'title', 'content', 'created_at')
Dalam contoh ini kami mencipta penyeri bersiri bernama ArticleSerializer
yang menyerikan model Article
untuk mengandungi id
, title
, content
dan created_at
format JSON medan.
Paparan digunakan untuk mengendalikan permintaan HTTP dan membalas respons kepada pelanggan. Proses ini boleh dipermudahkan menggunakan kelas paparan yang disediakan oleh rangka kerja Django REST.
from rest_framework import generics from .models import Article from .serializers import ArticleSerializer class ArticleList(generics.ListCreateAPIView): queryset = Article.objects.all() serializer_class = ArticleSerializer class ArticleDetail(generics.RetrieveUpdateDestroyAPIView): queryset = Article.objects.all() serializer_class = ArticleSerializer
Dalam contoh ini, kami mencipta kelas paparan ArticleList
dan ArticleDetail
. Kelas ArticleList
mengendalikan permintaan GET
dan POST
dan kelas ArticleDetail
mengendalikan permintaan GET
, PUT
dan DELETE
. Kesemuanya menggunakan Article
model dan ArticleSerializer
penyeri bersiri.
Kami perlu memetakan paparan ke URL supaya pelanggan boleh mengakses API RESTful. Ini boleh dikonfigurasikan dalam fail urls.py
aplikasi.
from django.conf.urls import url from .views import ArticleList, ArticleDetail urlpatterns = [ url(r'^articles/$', ArticleList.as_view(), name='article-list'), url(r'^articles/(?P<pk>[0-9]+)/$', ArticleDetail.as_view(), name='article-detail'), ]
Dalam contoh ini, kami memetakan paparan ArticleList
dan ArticleDetail
ke URL /articles/
dan /articles/3743615655418b561e68ee695446cfdb/
. 3743615655418b561e68ee695446cfdb
ialah kunci utama model Article
.
Kini kita boleh menjalankan pelayan Django dan cuba mendapatkan data daripada RESTful API.
python manage.py runserver
Lawati http://127.0.0.1:8000/articles/
untuk mendapatkan senarai semua kejadian model Article
. Lawati http://127.0.0.1:8000/articles/53384f78b45ee9f1e3082cf378b9c5b4/
untuk mendapatkan maklumat terperinci tentang satu Article
contoh model.
Ringkasan:
Artikel ini memperkenalkan cara menggunakan Django untuk membina API RESTful. Dengan mengikut langkah di atas, anda boleh membina API RESTful dengan mudah dan menggunakan rangka kerja Django REST untuk memudahkan proses pembangunan. API RESTful ialah bahagian penting dalam membuat aplikasi web, jadi Django menyediakan sokongan dan alatan yang baik untuk membantu pembangun membina API RESTful yang berkuasa.
Atas ialah kandungan terperinci Membina API RESTful menggunakan Django. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!