Herramienta simple que genera API seguras además de DRF con un esfuerzo mínimo, compatible activamente por App -Generator .
Para obtener un conjunto completo de características y soporte a largo plazo, consulte Dynamic Django , un potente iniciador que incorpora:
Características
API engine proporcionado por DRFJWT Tokens (solicitudes de mutación)Minimal Configuration (línea única en configuración para cada modelo)Handles any model definido en todo el proyectoCRUD :READ es público (todos los elementos, obtenga el elemento por identificación)Mutating requests están protegidas por JWT Tokens 
Paso #1 -
Install the package
$ pip install django-api-generator
// OR
$ pip install git+https://github.com/app-generator/django-api-generator.gitPaso #2 :
Update Configuration, incluir las nuevas aplicaciones
INSTALLED_APPS = [
'django_api_gen' , # Django API GENERATOR # <-- NEW
'rest_framework' , # Include DRF # <-- NEW
'rest_framework.authtoken' , # Include DRF Auth # <-- NEW
]Paso #3 -
Register the modelencore/settings.py(Sección API_Generator)
Este código de muestra supone que app1 existe y Book de modelos se define y migra.
API_GENERATOR = {
# pattern:
# API_SLUG -> Import_PATH
'books' : "app1.models.Book" ,
}
REST_FRAMEWORK = {
'DEFAULT_AUTHENTICATION_CLASSES' : [
'rest_framework.authentication.SessionAuthentication' ,
'rest_framework.authentication.TokenAuthentication' ,
],
}Paso #4 :
Migrate DBy cree las tablas utilizadas porDRF
$ python manage.py makemigrations
$ python manage.py migratePaso #5 -
Generate API
$ python manage.py generate-api
// OR
$ python manage.py generate-api -f # supress confirmation (forcing mode) El código se genera en la carpeta api en la raíz del proyecto. En cada iteración se sobrescribe el código API .
Paso #6 -
Update routing, incluya 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
] Paso #7 -
Use API
Si el modelo administrado es Books , la interfaz API es /api/books/ y todos los métodos CRUD están disponibles.
Nota: Para las solicitudes de mutación, el
JWT Tokenes proporcionado porhttp://localhost:8000/login/jwt/ruta (el usuario debe existir).

AppSeedEmail y DiscordGenerador API Django-Biblioteca de código abierto proporcionada por App-Generator