Rumah >pembangunan bahagian belakang >Tutorial Python >Gunakan rangka kerja Django untuk membina API RESTful
Bina API RESTful menggunakan rangka kerja Django
Dengan pembangunan berterusan aplikasi web, membina API berskala dan fleksibel telah menjadi bahagian penting dalam aplikasi moden. Sebagai rangka kerja pembangunan yang popular, rangka kerja Django memberikan kami cara yang pantas dan boleh dipercayai untuk membina API RESTful. Artikel ini akan memperkenalkan cara menggunakan rangka kerja Django untuk membina API RESTful dan menyediakan contoh kod khusus.
$ django-admin startproject myproject
Pergi ke dalam direktori projek dan buat aplikasi yang dipanggil "api".
$ cd myproject $ python manage.py startapp api
INSTALLED_APPS = [ ... 'rest_framework', 'api', ]
Anda juga perlu mengkonfigurasi fail urls.py projek untuk memajukan laluan permintaan ke aplikasi API kami.
from django.urls import include, path urlpatterns = [ ... path('api/', include('api.urls')), ]
from django.db import models class Article(models.Model): title = models.CharField(max_length=100) content = models.TextField() created_at = models.DateTimeField(auto_now_add=True)
Seterusnya, kita perlu mencipta fail yang dipanggil serializers.py dalam direktori api dan mentakrifkan serializer yang dipanggil "ArticleSerializer" untuk menukar contoh model kepada JSON.
from rest_framework import serializers from api.models import Article class ArticleSerializer(serializers.ModelSerializer): class Meta: model = Article fields = ['id', 'title', 'content', 'created_at']
from rest_framework import generics from api.models import Article from api.serializers import ArticleSerializer class ArticleList(generics.ListCreateAPIView): queryset = Article.objects.all() serializer_class = ArticleSerializer
Kami juga boleh membuat paparan kelas yang dipanggil ArticleDetail untuk mengendalikan permintaan GET, PUT dan DELETE untuk satu artikel.
from rest_framework import generics from api.models import Article from api.serializers import ArticleSerializer class ArticleDetail(generics.RetrieveUpdateDestroyAPIView): queryset = Article.objects.all() serializer_class = ArticleSerializer
from django.urls import path from api import views urlpatterns = [ path('articles/', views.ArticleList.as_view(), name='article-list'), path('articles/<int:pk>/', views.ArticleDetail.as_view(), name='article-detail'), ]
$ python manage.py runserver
Dapatkan semua artikel (PERMINTAAN GET):
GET http://localhost:8000/api/articles/
Dapatkan satu artikel (permintaan GET):
GET http://localhost:8000/api/articles/1/
Buat artikel baharu (permintaan POST):
🜎rreee ) :POST http://localhost:8000/api/articles/ Content-Type: application/json { "title": "Hello", "content": "This is a test article." }
PUT http://localhost:8000/api/articles/1/ Content-Type: application/json { "title": "Hello World", "content": "This is an updated test article." }
(bilangan perkataan: 1063)
Atas ialah kandungan terperinci Gunakan rangka kerja Django untuk membina API RESTful. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!