Un outil simple qui génère des API sécurisées au-dessus de DRF avec un minimum d'effort - activement pris en charge par l'application-générateur .
Pour un ensemble complet de fonctionnalités et un support à long terme, consultez Dynamic Django , un démarreur puissant qui incorpore:
Caractéristiques
API engine fourni par DRFJWT Tokens (demandes de mutation)Minimal Configuration (ligne unique en configuration pour chaque modèle)Handles any model défini à travers le projetCRUD Access Logic:READ est public (tous les articles, obtenez un article par id)Mutating requests sont protégées par JWT Tokens 
Étape n ° 1 -
Install the package
$ pip install django-api-generator
// OR
$ pip install git+https://github.com/app-generator/django-api-generator.gitÉtape n ° 2 -
Update Configuration, incluez les nouvelles applications
INSTALLED_APPS = [
'django_api_gen' , # Django API GENERATOR # <-- NEW
'rest_framework' , # Include DRF # <-- NEW
'rest_framework.authtoken' , # Include DRF Auth # <-- NEW
]Étape # 3 -
Register the modeldanscore/settings.py(section API_GENERATOR)
Cet exemple de code suppose que app1 existe et que Book de modèle est défini et migré.
API_GENERATOR = {
# pattern:
# API_SLUG -> Import_PATH
'books' : "app1.models.Book" ,
}
REST_FRAMEWORK = {
'DEFAULT_AUTHENTICATION_CLASSES' : [
'rest_framework.authentication.SessionAuthentication' ,
'rest_framework.authentication.TokenAuthentication' ,
],
}Étape n ° 4 -
Migrate DBet créez les tables utilisées parDRF
$ python manage.py makemigrations
$ python manage.py migrateÉtape # 5 -
Generate API
$ python manage.py generate-api
// OR
$ python manage.py generate-api -f # supress confirmation (forcing mode) Le code est généré dans le dossier api à la racine du projet. À chaque itération, le code API est écrasé .
Étape # 6 -
Update routing, incluez les API
from django . contrib import admin
from django . urls import path , include # <-- UPD: 'include` directive
from rest_framework . authtoken . views import obtain_auth_token # <-- NEW
urlpatterns = [
path ( "admin/" , admin . site . urls ),
path ( "api/" , include ( "api.urls" )), # <-- NEW
path ( 'login/jwt/' , view = obtain_auth_token ), # <-- NEW
] Étape # 7 -
Use API
Si le modèle géré est Books , l'interface API est /api/books/ et toutes les méthodes CRUD sont disponibles.
Remarque: Pour les demandes de mutation, le
JWT Tokenest fourni parhttp://localhost:8000/login/jwt/route (l'utilisateur doit exister).

AppSeedEmail et DiscordGénérateur API DJANGO - Bibliothèque open source fournie par l'application Générateur