Maison > développement back-end > Tutoriel Python > Utilisez le framework Django pour créer des API RESTful

Utilisez le framework Django pour créer des API RESTful

PHPz
Libérer: 2023-09-28 21:01:50
original
1448 Les gens l'ont consulté

Utilisez le framework Django pour créer des API RESTful

Créez une API RESTful à l'aide du framework Django

Avec le développement continu des applications Web, la création d'API évolutives et flexibles est devenue une partie importante des applications modernes. En tant que framework de développement populaire, le framework Django nous offre un moyen rapide et fiable de créer des API RESTful. Cet article expliquera comment utiliser le framework Django pour créer une API RESTful et fournira des exemples de code spécifiques.

  1. Création de projets et d'applications Django
    Tout d'abord, nous devons créer un projet Django dans notre environnement local. Utilisez la commande suivante pour créer un projet nommé "myproject".
$ django-admin startproject myproject
Copier après la connexion

Allez dans le répertoire du projet et créez une application appelée "api".

$ cd myproject
$ python manage.py startapp api
Copier après la connexion
  1. Configuration des projets et des applications
    Dans le fichier settings.py du projet, nous devons ajouter les applications "rest_framework" et "api" à la liste INSTALLED_APPS.
INSTALLED_APPS = [
    ...
    'rest_framework',
    'api',
]
Copier après la connexion

Vous devez également configurer le fichier urls.py du projet pour transmettre le chemin de la requête à notre application API.

from django.urls import include, path

urlpatterns = [
    ...
    path('api/', include('api.urls')),
]
Copier après la connexion
  1. Création de modèles et de sérialiseurs
    Dans notre API d'application, nous devons d'abord définir la classe de modèle pour représenter les ressources dans notre API. En prenant un article comme exemple, nous pouvons définir un modèle nommé « Article » dans le fichier models.py.
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)
Copier après la connexion

Ensuite, nous devons créer un fichier appelé serializers.py dans le répertoire api et définir un sérialiseur appelé "ArticleSerializer" pour convertir l'instance de modèle en 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']
Copier après la connexion
  1. Créer des vues
    Créez un fichier appelé vues.py dans le répertoire api et ajoutez une vue de classe appelée ArticleList pour gérer les requêtes GET et POST.
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
Copier après la connexion

Nous pouvons également créer une vue de classe appelée ArticleDetail pour gérer les requêtes GET, PUT et DELETE pour un seul 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
Copier après la connexion
  1. Configurer les URL
    Créez un fichier nommé urls.py dans le répertoire api et ajoutez le code suivant pour configurer le chemin.
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'),
]
Copier après la connexion
  1. Démarrez le service
    Nous pouvons maintenant exécuter le serveur de développement et tester notre API.
$ python manage.py runserver
Copier après la connexion
  1. Test de l'API
    À l'aide d'outils tels que Postman ou curl, etc., vous pouvez envoyer des requêtes HTTP pour tester l'API. Voici quelques exemples courants de requêtes API.
  • Obtenir tous les articles (demande GET) :

    GET http://localhost:8000/api/articles/
    Copier après la connexion
  • Obtenir un seul article (demande GET) :

    GET http://localhost:8000/api/articles/1/
    Copier après la connexion
  • Créer un nouvel article (demande POST) :

    POST http://localhost:8000/api/articles/
    Content-Type: application/json
    
    {
      "title": "Hello",
      "content": "This is a test article."
    }
    Copier après la connexion
  • Mettre à jour l'article (demande PUT) ) :

    PUT http://localhost:8000/api/articles/1/
    Content-Type: application/json
    
    {
      "title": "Hello World",
      "content": "This is an updated test article."
    }
    Copier après la connexion
  • Supprimer l'article (demande DELETE) :

    DELETE http://localhost:8000/api/articles/1/
    Copier après la connexion

    Résumé :
    Dans cet article, nous avons présenté comment utiliser le framework Django pour créer une API RESTful. En créant des modèles et des sérialiseurs, en définissant des vues et des configurations d'URL, nous pouvons rapidement créer une API entièrement fonctionnelle et la tester. Cela nous fournit une bonne base pour créer des applications Web modernes et fournir des services évolutifs. Grâce au framework Django, nous pouvons facilement gérer les besoins courants des API tels que l'obtention, la création, la mise à jour et la suppression de ressources.

    (nombre de mots : 1063)

    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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal