Use the Django framework to build RESTful APIs
With the continuous development of web applications, building scalable and flexible APIs has become important for modern applications component. As a popular development framework, the Django framework provides us with a fast and reliable way to build RESTful APIs. This article will introduce how to use the Django framework to build a RESTful API and provide specific code examples.
$ django-admin startproject myproject
Go to the project directory and create an application named "api".
$ cd myproject $ python manage.py startapp api
INSTALLED_APPS = [ ... 'rest_framework', 'api', ]
You also need to configure the urls.py file of the project to forward the request path to our API application.
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)
Next, we need to create a file named serializers.py in the api directory and define a serializer named "ArticleSerializer" to convert the model instance to 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
We can also create a class view called ArticleDetail to handle GET, PUT and DELETE requests for a single article.
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
Get all articles (GET request):
GET http://localhost:8000/api/articles/
Get a single article (GET request):
GET http://localhost:8000/api/articles/1/
Create new article (POST request):
POST http://localhost:8000/api/articles/ Content-Type: application/json { "title": "Hello", "content": "This is a test article." }
Update article (PUT request):
PUT http://localhost:8000/api/articles/1/ Content-Type: application/json { "title": "Hello World", "content": "This is an updated test article." }
Delete article (DELETE request):
DELETE http://localhost:8000/api/articles/1/
Summary:
In this article, we introduced how to use the Django framework to build a RESTful API. By creating models and serializers, defining views and URL configurations, we can quickly build a fully functional API and test it. This provides a good foundation for us to build modern web applications and provide scalable services. Using the Django framework, we can easily handle common API needs such as getting, creating, updating, and deleting resources.
(Word count: 1063)
The above is the detailed content of Use the Django framework to build RESTful APIs. For more information, please follow other related articles on the PHP Chinese website!