[PYTHON] (Pour les débutants) Essayez de créer une API Web simple avec Django

Aperçu

Cet article vous guide à travers les étapes d'un débutant développant un service de livraison de coupons pour l'iPhone avec une API RESTful et rapide. C'est une mise en œuvre très détour car elle a été mise en œuvre en examinant les éléments techniques un par un.

Cette fois [Essayez d'exécuter python dans l'environnement de Django réalisé avec pipenv] Dans l'environnement créé par (https://qiita.com/Ajyarimochi/items/0964d314c8bd968fcc80), créez une API web simple en utilisant les fonctions de Django.

référence

environnement

Mac OS 10.15 VSCode 1.39.2 pipenv 2018.11.26 Python 3.7.4 Django 2.2.6

spécifications de l'API Web

Lorsqu'un code de coupon est demandé, le contenu du coupon associé au code de coupon est répondu par HTTP.

procédure

Créer une application Django coupon

Entrez dans l'environnement virtuel pipenv avec la commande shell pipenv et accédez au répertoire où se trouve manage.py. into-pipenv-directry-mask.png

Créez une application django nommée coupon. make-coupon-app.png

Lorsque vous ouvrez le dossier avec VS Code, l'application de coupon est créée. check-making-app-vscode.png

Implémentation du traitement des réponses dans views.py

Comme indiqué ci-dessous, j'ai créé une fonction appelée coupon et codé en dur le contenu du coupon. En fonction du code du coupon envoyé dans la variable de demande (coupon_code), l'instruction if sera utilisée pour séparer les coupons. La réponse est renvoyée en Http en utilisant la méthode HttpResponse de Django.

views.py


from django.shortcuts import render
from django.http import HttpResponse

# Create your views here.
def coupon(request):
    if 'coupon_code' in request.GET:
        coupon_code = request.GET['coupon_code']
        if coupon_code == '0001':
          result = 'Coupon de réduction de 1000 yens!'
        elif coupon_code == '0002':
            result = '10%Tirage au sort!'
        else:
            result = 'Error:Not found coupon code!'
        return HttpResponse(result)

Créez urls.py sous l'application de coupon

Ensuite, définissez le chemin. Tout d'abord, créez un nouveau ʻurls.py` sous l'application de coupon.

coupon/urls.py


from django.urls import path
from . import views

urlpatterns = [
    path('', views.coupon, name='coupon'),
]

Modifier urls.py sous le projet

Ensuite, modifiez urls.py sous le projet. Ajout de path ('coupon /', include ('coupon.urls')) à ʻurl patterns`.

ami_coupon_api/urls.py


from django.contrib import admin
from django.urls import path,include

urlpatterns = [
    path('admin/', admin.site.urls),
    path('hello/', include('hello.urls')),
    path('coupon/', include('coupon.urls'))
]

Contrôle de fonctionnement

Enregistrez vos modifications et démarrez le serveur Web de django.

$ python manage.py runserver

Accédez à l'URL suivante avec votre navigateur. http://127.0.0.1:8000/coupon/?coupon_code=0001 Confirmez que la réponse correcte change. test-code-0001.png

Vérifiez le modèle pour entrer d'autres paramètres

Demander un coupon pour le code promo 0002 http://127.0.0.1:8000/coupon/?coupon_code=0002 test-code-0002.png

Si vous spécifiez un code de coupon qui n'existe pas http://127.0.0.1:8000/coupon/?coupon_code=0003 test-code-0003.png

Avec ce qui précède, nous avons implémenté une API Web ultra-simple. À partir de là, nous le modifierons comme suit pour en faire une API Web capable de résister à une utilisation pratique.

La prochaine fois, j'utiliserai la fonction de modèle de Django pour apprendre

Recommended Posts

(Pour les débutants) Essayez de créer une API Web simple avec Django
[Pour les débutants] Essayez le web scraping avec Python
Retour sur la création d'un service Web avec Django 1
Essayez de créer une application Web avec Vue.js et Django (édition Mac) - (1) Construction d'environnement, création d'application
Créer une application Web avec Django
Créez une API Web capable de fournir des images avec Django
Commandes lors de la création de SNS avec Django
Créez une API d'intégration sociale pour les applications smartphone avec Django
Les utilisateurs de Rails essaient de créer un moteur de blog simple avec Django
Créer un fichier power simple avec Python
Lecteur RSS simple réalisé avec Django
Commandes pour créer un nouveau projet django
Créer un écran de connexion dans Django all auth
Créez une application Web simple avec Flask
J'ai fait une application WEB avec Django
[GCP] Procédure de création d'une application Web avec Cloud Functions (Python + Flask)
Procédure de création d'un LineBot réalisé avec Python
Démarrez un serveur Web Python simple avec Docker
Créez un tableau de bord pour les appareils réseau avec Django!
Commandes pour créer un environnement python3 avec virtualenv
Liste de tâches simple créée avec Python + Django
Essayez de créer un problème FizzBuzz avec un programme shell
Une solution de contournement simple pour que les robots essaient de publier des tweets avec le même contenu
Procédure de création d'une application avec Django avec Pycharm ~ Préparation ~
Essayez de créer un site Web simple avec responder et sqlite3
(Python) Essayez de développer une application Web en utilisant Django
J'ai essayé un RPA simple pour me connecter avec du sélénium
[Vagrant] Configurer un serveur API simple avec python
Construire un environnement Django pour Win10 (avec espace virtuel)
Développer une API Web qui renvoie les données stockées dans DB avec Django et SQLite
Les débutants essaient de créer une application Web de combat en ligne Othello avec Django + React + Bootstrap (1)
Essayez d'exécuter python dans l'environnement Django créé avec pipenv
Créer une API avec Django
Les débutants de Django créent des applications simples 3
[Memo] Construire un environnement de développement pour Django + Nuxt.js avec Docker
Essayez de programmer avec un shell!
Les débutants de Django créent des applications simples 1
Recommandation de django, wagtail ~ Pourquoi développer un site web avec python ~
Créer une page d'accueil avec django
Configurer un serveur Web avec CentOS7 + Anaconda + Django + Apache
Créer une application Web avec Django
Essayez l'analyse morphologique et la chaîne de Markov avec Django (Ari avec beaucoup de marge d'amélioration)
API Web avec Python + Falcon
Créez un serveur API Web ultra-rapide avec Falcon
Les débutants de Django créent des applications simples 2
Les débutants de Django créent des applications simples 4
Tornado - Créons une API Web qui renvoie facilement JSON avec JSON
Web en temps réel avec les chaînes Django
Qiita API Oauth avec Django
[Python] Créer un écran pour le code d'état HTTP 403/404/500 avec Django
Les débutants de Django créent des applications simples 5
Explication facile à comprendre de l'application Web Python (Django) même pour les débutants (5) [Introduction au fonctionnement de la base de données avec le shell Django]
"2/2" Je crée une application Web simple pour le fonctionnement du robot. «Chaînes Raspberry Pi 3B + et Django»
"1/2" Je crée une application Web simple pour le fonctionnement du robot. «Chaînes Raspberry Pi 3B + et Django»
Faisons une application WEB pour l'annuaire téléphonique avec flacon Partie 1
Rubyist a essayé de créer une API simple avec Python + bouteille + MySQL
[Python / Django] Créer une API Web qui répond au format JSON
Pratique de développement d'applications Web: Créez une page de création d'équipe avec Django! (Page de création de décalage)