Si vous avez utilisé un appareil numérique pour envoyer et recevoir des informations, vous avez utilisé une API. Les développeurs créent des API pour permettre aux utilisateurs d'interagir avec les données de leurs applications.

La création d'une API REST est un moyen pratique de partager des informations. Les API REST ont défini des normes régissant le partage de données entre les appareils. Pour comprendre le fonctionnement des API REST, vous pouvez en créer une à partir de rien.

Vous pouvez utiliser le framework Django REST pour créer une API REST et l'utiliser pour afficher les données d'une base de données.

Utiliser Django avec une API REST

Tu peux utiliser une API REST pour récupérer des données structurées sur HTTP. Comme de nombreux langages et frameworks, Django vous permet de créer votre propre API et d'en consommer d'autres.

Vous devez également avoir les éléments suivants préinstallés :

  1. La dernière version de python.
  2. La dernière version de pip.
  3. Pipenv (bien que vous puissiez utiliser venv à la place si vous le souhaitez.)
  4. La dernière version de Django.
instagram viewer

Une fois que vous avez installé tous les logiciels essentiels, vous êtes prêt à commencer.

1. Installer Django REST Framework

Cadre Django REST est une boîte à outils puissante que vous pouvez utiliser pour créer et configurer des API Web. Ses fonctionnalités personnalisables en font un choix populaire pour créer des API REST.

Vous pouvez installer le framework Django REST avec la commande suivante :

pipenv installer djangorestframework

2. Créer une application Django

Les instructions suivantes expliquent comment créer une application alimentaire pour rassembler les noms et les descriptions des aliments kenyans populaires. L'API récupère les requêtes d'une base de données pour permettre aux utilisateurs d'interagir avec ces données.

Les applications Django sont équipées d'une base de données SQLite, vous n'avez donc pas besoin d'installer une autre base de données.

Pour créer une application Django, créez d'abord un projet appelé nourriture avec la commande suivante :

django-admin startproject nourriture 

Ensuite, créez une application Django appeléenourriture kenyane:

django-admin startapp kenyanfood

3. Enregistrez les paramètres du projet d'application

Enregistrez lenourriture kenyaneapp dans les paramètres du projet sous l'onglet APPLICATIONS INSTALLÉES déployer. Si vous ignorez cette étape, Django ne reconnaîtra pas l'application. Enregistrez également le framework Django REST dans les mêmes paramètres :

# Définition de l'application

INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'nourriture kenyane',
'rest_framework',
]

4. Enregistrer les URL d'application

Enregistrer nourriture kenyane URL d'application dans le projet urls.py fichier comme illustré ci-dessous :

depuis django.contrib importer administrateur
depuis django.urls importer chemin, inclure

modèles d'url = [
chemin('administrateur/', admin.site.urls),
chemin('', inclure('kenyanfood.urls')),
]

5. Créer une vue pour l'API

Créer une vue factice dans l'application vues.py fichier, afin que l'application ne génère pas d'erreurs. Tout d'abord, importez le Réponse objet et@apiview décorateur du framework Django REST.

Réponse aide à renvoyer les données stérilisées dans JSON format tandis que le @apiview affiche l'API.

depuis django.raccourcis importer rendre
depuis rest_framework.response importer Réponse
depuis rest_framework.décorateurs importer api_view

# Créez vos vues ici.
@api_view(['OBTENIR'])
définitivementgetFood(demande):
retour Réponse()

6. Créer un chemin d'URL pour l'application

Créez un chemin d'URL pour la vue d'API que vous avez créée. Ce point de terminaison affiche le nourriture kenyanedonnées.

depuis django.urls importer chemin
depuis. importer vues
depuis django.conf importer paramètres

modèles d'url = [
chemin('', vues.getFood),
chemin('poste/', vues.postFood),
]

7. Créer un modèle pour l'application

La classe de modèle de l'application s'appelle Nourriture. Ça devrait ressembler à ça:

depuis django.db importer des modèles

# Créez vos modèles ici.
classeNourriture(des modèles. Modèle):
nom = modèles. CharField (max_length=200)
description = modèles. CharField (max_length=500)

Enregistrez le modèle dans l'application admin.py fichier comme indiqué ci-dessous :

depuis django.contrib importer administrateur
depuis .des modèles importer Nourriture

# Enregistrez vos modèles ici.
administrateur.placer.enregistrer(Nourriture)

8. Faire des migrations

Suivant, émigrer l'application pour créer des tableaux dans le SQLiteName base de données. Vous pouvez le faire à l'aide de la commande suivante :

pythongérer.pyfaire des migrationsnourriture kenyane

Ensuite, appliquez ces migrations en exécutant cette commande :

pythongérer.pyémigrer

Une migration réussie ressemblera à ceci :

Les migrations réussies signifient que la base de données a créé des tables pour nourriture kenyaneApp.

9. Ajouter des données à la base de données

Utilisez le Administrateur Django GUI pour entrer des données dans la base de données. Administrateur Django a une excellente interface pour visualiser et gérer les données de votre application.

Vous pouvez également utiliser le shell python sur la ligne de commande pour entrer manuellement des données dans la base de données. Dans ce guide, vous utiliserez l'interface d'administration de Django.

Utilisez la commande suivante pour configurer l'administrateur de Django :

pythongérer.pycréer un superutilisateur

Lorsque vous y êtes invité, entrez votre nom d'utilisateur, email et mot de passe. Vous pouvez ensuite ouvrir la page d'administration en utilisant le lien ci-dessous :

http ://127.0.0.1:8000/admin/

Vous verrez la page de connexion :

Une fois connecté, vous verrez l'interface d'administration de Django avec Groupes et Utilisateurs modèle. Ce sont tous les deux pour l'authentification; le Nourriture modèle est dans la section ci-dessous.

Vous pouvez ajouter et supprimer Nourriture éléments de la base de données à partir de la page d'administration. Ajoutez quelques spécialités kenyanes, telles que Ugali, Pilau et Chai, à la base de données.

Maintenant que la base de données contient des données, créez l'API

10. Sérialiser le modèle

Sérialiseurs convertir des modèles Django complexes en JSON objets, ce qui facilite la lecture des données sur l'API. La sérialisation rend les données plus lisibles sur l'API.

Créez un nouveau fichier dans l'application appelé serializer.py

depuis rest_framework importer sérialiseurs
depuis .des modèles importer Nourriture

classeFoodSerializer(sérialiseurs. ModelSerializer):
classeMéta:
modèle = Nourriture
champs=('nom','description')

Vous importez le sérialiseurs module de la rest_framework package et créer un FoodSerializer classe qui hérite de la ModelSerializer classe.

Ensuite, spécifiez le Nourriture modèle que vous souhaitez sérialiser et les champs que vous souhaitez ajouter à l'API.

11. Mettre à jour la vue

Ensuite, mettez à jour la vue API avec le sérialiseur et Nourriture des modèles.

Tout d'abord, définissez un OBTENIR méthode pour récupérer toutes les données de la base de données avec Nourriture. Objets.all() fonction. Sérialisez ensuite les données et renvoyez-les comme réponse dans JSON format.

depuis django.raccourcis importer rendre
depuis rest_framework.response importer Réponse
depuis rest_framework.décorateurs importer api_view
depuis .des modèles importer Nourriture
depuis .sérialiseur importer FoodSerializer

# Créez vos vues ici.
@api_view(['OBTENIR'])
définitivementgetFood(demande):
nourriture = Nourriture.objets.all()
sérialiseur = FoodSerializer (nourriture, plusieurs =Vrai)
retour Réponse (serializer.data)

Ensuite, accédez au lien URL du serveur :

https://127.0.0.1:8000/

Vous verrez l'API afficher les données de la base de données :

Félicitations, vous avez créé une API REST !

12. Ajouter des données avec la méthode POST

Testez si vous pouvez utiliser l'API REST pour ajouter des données à la base de données.

Tout d'abord, définissez un POSTE méthode dans la vue.

@api_view(['POSTE'])
définitivementpostFood(demande):
sérialiseur = FoodSerializer (data=request.data)
sisérialiseur.est valable():
sérialiseur.sauvegarder()
retour Réponse (serializer.data)

Ensuite, ajoutez un chemin dans l'application urls.py pour créer un point de terminaison pour l'API POSTE Fonctionnalité.

modèles d'url = [
chemin('',views.getFood),
chemin('poste/',views.postFood),
]

Ensuite, accédez à cette URL :

https://127.0.0.1:8000/post

Vous verrez le POSTE point final. Ajouter des données à la base de données dans JSON formater dans le Contenu section et cliquez sur le POSTE bouton. Par exemple, ajoutez un nouvel aliment avec cette structure :

{ "nom":"Maziwa mala", "description":"Lait aigre" }

Vous verrez les données affichées en rouge dans JSON format.

Maintenant, si vous revenez à la OBTENIR point final http://127.0.0.1:8000/, vous verrez la nourriture 'Maziwa mala,' et sa description ajoutée.

Vous disposez maintenant d'une API REST qui peut afficher et ajouter des éléments à l'application. Que diriez-vous d'expérimenter avec d'autres CRUD méthodes? Travailler avec MISE À JOUR et SUPPRIMER méthodes augmenteront les fonctionnalités de votre API REST.

Comment créer une API REST avec Django

Vous pouvez maintenant créer une API REST en utilisant Django. Tout d'abord, créez une application avec un modèle, sérialisez les données et créez une fonction d'affichage. Ensuite, incluez des points de terminaison d'URL pour visualiser les données au format JSON.

La création d'API REST avec le framework Django REST est un moyen pratique de partager des données et d'offrir à vos utilisateurs une expérience client exceptionnelle.