Maison >développement back-end >Tutoriel Python >Construire une API RESTful à l'aide de Django
Django est un framework Web qui facilite la création d'API RESTful. L'API RESTful est une architecture basée sur le Web accessible via le protocole HTTP. Dans cet article, nous expliquerons comment utiliser Django pour créer une API RESTful, y compris comment utiliser le framework Django REST pour simplifier le processus de développement.
Tout d'abord, nous devons installer Django localement. Vous pouvez utiliser pip pour installer Django. La commande spécifique est la suivante :
pip install Django
Après avoir installé Django, nous pouvons créer un projet Django en exécutant la commande suivante :
django-admin startproject projectname
Parmi eux, projectname
est le nom du projet que vous souhaitez créer. projectname
是你要创建的项目名称。
Django项目由应用组成。我们需要在项目中创建应用来构建RESTful API。可以通过运行以下命令来创建应用:
python manage.py startapp appname
其中,appname
是你要创建的应用名称。
默认情况下,Django使用SQLite作为其默认数据库。如果你想更改数据库,可以在项目的settings.py
文件中进行配置。
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.postgresql', 'NAME': 'mydatabase', 'USER': 'mydatabaseuser', 'PASSWORD': 'mypassword', 'HOST': '127.0.0.1', 'PORT': '5432', } }
在Django中,模型是用于维护数据的类。我们需要创建与RESTful API相关联的模型。
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)
在这个例子中,我们创建了一个名为Article
的模型,它具有title
,content
和created_at
字段。
序列化器用于将模型序列化为JSON格式,以传递给客户端。可以使用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')
在这个例子中,我们创建了一个名为ArticleSerializer
的序列化器,它将Article
模型序列化为包含id
,title
,content
和created_at
字段的JSON格式。
视图用于处理HTTP请求并将响应返回给客户端。可以使用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
在这个例子中,我们创建了一个视图类ArticleList
和ArticleDetail
。ArticleList
类处理GET
和POST
请求,ArticleDetail
类处理GET
,PUT
和DELETE
请求。它们都使用Article
模型和ArticleSerializer
序列化器。
我们需要将视图映射到URL,以便客户端可以访问RESTful API。可以在应用的urls.py
文件中进行配置。
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'), ]
在这个例子中,我们映射了ArticleList
和ArticleDetail
视图到URL /articles/
和/articles/3743615655418b561e68ee695446cfdb/
。3743615655418b561e68ee695446cfdb
是Article
模型的主键。
现在我们可以运行Django服务器,并尝试从RESTful API中获取数据。
python manage.py runserver
访问http://127.0.0.1:8000/articles/
可以获取Article
模型的所有实例的列表。访问http://127.0.0.1:8000/articles/53384f78b45ee9f1e3082cf378b9c5b4/
可以获取单个Article
Un projet Django est constitué d'applications. Nous devons créer une application dans le projet pour créer une API RESTful. Vous pouvez créer une application en exécutant la commande suivante :
rrreee🎜oùappname
est le nom de l'application que vous souhaitez créer. 🎜settings.py
du projet. 🎜rrreeeArticle
qui a le champ title
, content
et created_at. 🎜<ol start="6">🎜Créer un sérialiseur 🎜🎜🎜Le sérialiseur est utilisé pour sérialiser le modèle au format JSON pour livraison au client. Ce processus peut être simplifié à l'aide des sérialiseurs fournis par le framework Django REST. 🎜rrreee🎜Dans cet exemple, nous créons un sérialiseur appelé <code>ArticleSerializer
, qui sérialise le modèle Article
pour contenir le id
, le format JSON du title
, content
et created_at
. 🎜ArticleList
et ArticleDetail
. La classe ArticleList
gère les requêtes GET
et POST
, et la classe ArticleDetail
gère GET
, les requêtes PUT
et DELETE
. Ils utilisent tous deux le modèle Article
et le sérialiseur ArticleSerializer
. 🎜urls.py
de l'application. 🎜rrreee🎜Dans cet exemple, nous avons mappé les vues ArticleList
et ArticleDetail
aux URL /articles/
et /articles/f90b7197ae1cf09d83199192ae726c44/
. 3743615655418b561e68ee695446cfdb
est la clé primaire du modèle Article
. 🎜http://127.0.0.1:8000/articles/
pour obtenir une liste de toutes les instances du modèle Article
. Visitez http://127.0.0.1:8000/articles/53384f78b45ee9f1e3082cf378b9c5b4/
pour obtenir des informations détaillées sur une seule instance de modèle Article
. 🎜🎜Résumé : 🎜🎜Cet article explique comment créer une API RESTful à l'aide de Django. En suivant les étapes ci-dessus, vous pouvez facilement créer une API RESTful et utiliser le framework Django REST pour simplifier le processus de développement. Les API RESTful jouent un rôle important dans la création d'applications Web. Django fournit donc un bon support et des outils pour aider les développeurs à créer de puissantes API RESTful. 🎜Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!