Maison >développement back-end >Tutoriel Python >Construire une API RESTful à l'aide de Django

Construire une API RESTful à l'aide de Django

PHPz
PHPzoriginal
2023-06-17 21:29:381230parcourir

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.

  1. Installer Django

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
  1. Créer un projet 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是你要创建的项目名称。

  1. 创建Django应用

Django项目由应用组成。我们需要在项目中创建应用来构建RESTful API。可以通过运行以下命令来创建应用:

python manage.py startapp appname

其中,appname是你要创建的应用名称。

  1. 配置数据库

默认情况下,Django使用SQLite作为其默认数据库。如果你想更改数据库,可以在项目的settings.py文件中进行配置。

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql',
        'NAME': 'mydatabase',
        'USER': 'mydatabaseuser',
        'PASSWORD': 'mypassword',
        'HOST': '127.0.0.1',
        'PORT': '5432',
    }
}
  1. 创建模型

在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的模型,它具有titlecontentcreated_at字段。

  1. 创建序列化器

序列化器用于将模型序列化为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模型序列化为包含idtitlecontentcreated_at字段的JSON格式。

  1. 创建视图

视图用于处理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

在这个例子中,我们创建了一个视图类ArticleListArticleDetailArticleList类处理GETPOST请求,ArticleDetail类处理GETPUTDELETE请求。它们都使用Article模型和ArticleSerializer序列化器。

  1. 添加URL

我们需要将视图映射到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'),
]

在这个例子中,我们映射了ArticleListArticleDetail视图到URL /articles//articles/3743615655418b561e68ee695446cfdb/3743615655418b561e68ee695446cfdbArticle模型的主键。

  1. 运行服务器

现在我们可以运行Django服务器,并尝试从RESTful API中获取数据。

python manage.py runserver

访问http://127.0.0.1:8000/articles/可以获取Article模型的所有实例的列表。访问http://127.0.0.1:8000/articles/53384f78b45ee9f1e3082cf378b9c5b4/可以获取单个Article

    Créer une application Django

    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. 🎜
      🎜Configuration de la base de données 🎜🎜🎜Par défaut, Django utilise SQLite comme base de données par défaut. Si vous souhaitez modifier la base de données, vous pouvez la configurer dans le fichier settings.py du projet. 🎜rrreee
        🎜Créer un modèle🎜🎜🎜Dans Django, un modèle est une classe utilisée pour gérer les données. Nous devons créer le modèle associé à l'API RESTful. 🎜rrreee🎜Dans cet exemple, nous avons créé un modèle appelé Article 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. 🎜
          🎜Créer des vues 🎜🎜🎜Les vues sont utilisées pour gérer les requêtes HTTP et renvoyer les réponses au client. Ce processus peut être simplifié à l'aide des classes de vue fournies par le framework Django REST. 🎜rrreee🎜Dans cet exemple, nous avons créé une classe de vue 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. 🎜
            🎜Ajouter une URL🎜🎜🎜Nous devons mapper la vue sur une URL afin que les clients puissent accéder à l'API RESTful. Cela peut être configuré dans le fichier 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. 🎜
              🎜Exécutez le serveur🎜🎜🎜Maintenant, nous pouvons exécuter le serveur Django et essayer d'obtenir des données de l'API RESTful. 🎜rrreee🎜Visitez 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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn