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.
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.
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.
$ 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.
$ 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.
$ 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.
$ 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.
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.
Fonction d'authentification API implémentée par JWT dans Django Rest Framework
Recommended Posts