[Python] API REST, résumé de la bibliothèque pratique

introduction

Un article sur les frameworks ou bibliothèques utiles nécessaires pour écrire des API REST en Python. Cet article utilise Django, le framework Web Python. Je pense que Flask sera publié séparément. Pour utiliser chaque bibliothèque et framework avec Django, vous devez installer et modifier settings.py.

Nous allons jeter un coup d'oeil! !!

Django Cadre Web. Il contient tous les modules dont vous avez besoin pour votre application Web. Par exemple, gérer les chemins de répertoires et les bases de données sans effort. Cela ne commencera pas sans cela.

Comment installer

terminal


$ pip install django

Django Rest framework Une collection de modules requis pour l'API REST. Une fonction pour convertir les données DB au format JSON, etc. Si vous le mentionnez, cela ne fonctionnera pas. Ceci est également essentiel.

Comment installer

terminal


$ pip install djangorestframework

settings.py

settings.py


INSTALLED_APPS = [
    'rest_framework',
]

Ajoutez une ligne à INSTALLED_APPS comme ci-dessus. INSTALLED_APPS Vous pouvez rendre django conscient en définissant une application. Paramètres utilisés lors de la création d'un fichier de migration.

L'explication de INSTALLED_APPS sera désormais omise.

SimpleJwt JWT (Json Web Token) peut détecter la falsification des données. Principalement utilisé pour les jetons d'authentification. C'est une catégorie de sécurité, donc c'est modeste, mais je pense qu'il vaut mieux l'utiliser correctement dans le portefeuille.

Comment installer

$ pip install djangorestframework-simplejwt

settings.py

settings.py


from datetime import timedelta

REST_FRAMEWORK = {
    'DEFAULT_PERMISSION_CLASSES': [
        'rest_framework.permissions.IsAuthenticated',
    ],
    'DEFAULT_AUTHENTICATION_CLASSES':[
        'rest_framework_simplejwt.authentication.JWTAuthentication',
    ],
}

SIMPLE_JWT = {
    'AUTH_HEADER_TYPES':('JWT'),
    'ACCESS_TOKEN_LIFETIME':timedelta(minutes=30),
}

REST_FRAMEWORK Faites reconnaître le framework djangorest en définissant une bibliothèque pour l'API. DEFAULT_PERMISSION_CLASSES Spécifiez la classe qui détermine l'autorisation d'accès. DEFAULT_AUTHENTICATION_CLASSES Spécifiez la classe utilisée pour l'authentification. rest_framework.permissions.IsAuthenticated Demande requise pour toutes les demandes. rest_framework_simplejwt.authentication.JWTAuthentication Définissez SIMPLE JWT. SIMPLE_JWT Vous pouvez définir les paramètres relatifs à SIMPLE JWT. AUTH_HEADER_TYPES Vous pouvez spécifier un jeton. Spécifiez JWT cette fois. ACCESS_TOKEN_LIFETIME Définissez la durée du jeton. L'objet timedelta ajoute et soustrait la date et l'heure.

djoser module tiers de django. Un module qui prend en charge l'authentification telle que l'enregistrement, la connexion, la déconnexion et la réinitialisation du mot de passe. Comme son nom l'indique, ce n'est que pour django, donc cela ne fonctionne qu'avec l'API REST de django.

Comment installer

$ pip install djoser

settings.py

settings.py


INSTALLED_APPS = [
    'djoser',
]

pillow Bibliothèque de traitement d'images. Utilisé pour traiter des images. Un traitement simple tel que le redimensionnement et la rotation peut être effectué facilement. Veuillez noter que le traitement avancé tel que la reconnaissance faciale n'est pas possible.

Comment installer

$ pip install pillow

CORS Une bibliothèque qui contrôle l'accès depuis la face avant. Par exemple, la fonction pour limiter la source de la demande. Partage de ressources entre les origines en japonais.

Comment installer

$ pip install django-cors-headers

settings.py

settings.py


INSTALLED_APPS = [
    'corsheaders',
]
MIDDLEWARE = [
    #django.middleware.common.Écrivez ci-dessus Common Middleware.
    'corsheaders.middleware.CorsMiddleware',
]
CORS_ORIGIN_WHITELIST=[
    #Origine à autoriser
    "http://localhost:3000"
]

MIDDLEWARE En définissant une liste de middleware, django s'exécutera séquentiellement après le traitement HTTP. Puisqu'il est ** séquentiel **, l'ordre d'écriture est important. CORS_ORIGIN_WHITELIST En définissant l'origine à autoriser, d'autres requêtes seront jouées.

finalement

Si vous les utilisez, vous pouvez implémenter l'API REST à des fins générales. Si vous avez d'autres bibliothèques nécessaires ou utiles, veuillez nous en informer. De plus, la construction de ces environnements de développement suppose un environnement virtuel. Si vous souhaitez créer un environnement virtuel, essayez de le créer rapidement à partir de l'article suivant. Créez un environnement virtuel avec Anaconda et travaillez avec PyCharm. Merci d'avoir lu jusqu'à la fin.

Références

Fonction d'authentification API implémentée par JWT dans Django Rest Framework

Recommended Posts

[Python] API REST, résumé de la bibliothèque pratique
Implémentez rapidement l'API REST en Python
Résumé Python
Bibliothèque de messagerie Python 3.6
Résumé de la comparaison des bibliothèques pour générer des PDF avec Python
Résumé de la bibliothèque LINQ
Résumé du didacticiel Python
Note sur la bibliothèque Python
résumé relatif à python
[WP REST API v2] Télécharger des images avec Python
Appuyez sur les exemples v20-python-samples de la bibliothèque d'encapsuleurs d'API REST OANDA v20 pour Python
Résumé des bases de Python
Un débutant Python a essayé d'implémenter l'API REST en un jour
Hit API REST de Watson à partir de Python avec IBM Bluemix
[Python] Une bibliothèque pratique qui convertit les kanji en hiragana
Utiliser l'API de recherche de la Bibliothèque du Parlement national en Python
Résumé du didacticiel Python Django
bibliothèque de commerce d'algorithmes python
Méthodes pratiques de Python, etc.
Résumé sur Python3 + OpenCV3
API Evernote en Python
Résumé des arguments de la fonction Python
Installer une bibliothèque externe pour python
Liste des API Python pour OpenCV3
Résumé des opérations d'annuaire Python
Résumé du cadre Python AI
Résumé relatif au traitement itératif Python
Bibliothèque d'optimisation Python Pulp
Résumé des arguments Python
API C en Python 3
Mémo de l'API TensorFlow (Python)
kabu Station® API-I a créé un wrapper Python pour l'API REST
Génération de spécifications et génération de code dans le développement d'API REST (édition Python)