Ferramenta simples que gera APIs seguras no topo do DRF com o mínimo esforço - suportado ativamente pelo aplicativo -gerador .
Para um conjunto completo de recursos e suporte a longo prazo, confira o dinâmico Django , um poderoso iniciante que incorpora:
Características
API engine fornecido por DRFJWT Tokens (solicitações de mutação)Minimal Configuration (linha única na configuração para cada modelo)Handles any model definido em todo o projetoCRUD :READ é público (todos os itens, obtenha item por id)Mutating requests são protegidos por JWT Tokens 
Etapa 1 -
Install the package
$ pip install django-api-generator
// OR
$ pip install git+https://github.com/app-generator/django-api-generator.gitEtapa 2 -
Update Configuration, inclua os novos aplicativos
INSTALLED_APPS = [
'django_api_gen' , # Django API GENERATOR # <-- NEW
'rest_framework' , # Include DRF # <-- NEW
'rest_framework.authtoken' , # Include DRF Auth # <-- NEW
]Etapa #3 -
Register the modelemcore/settings.py(seção API_Generator)
Este código de amostra assume que app1 existe e Book de modelos é definido e migrado.
API_GENERATOR = {
# pattern:
# API_SLUG -> Import_PATH
'books' : "app1.models.Book" ,
}
REST_FRAMEWORK = {
'DEFAULT_AUTHENTICATION_CLASSES' : [
'rest_framework.authentication.SessionAuthentication' ,
'rest_framework.authentication.TokenAuthentication' ,
],
}Etapa #4 -
Migrate DBe crie as tabelas usadas porDRF
$ python manage.py makemigrations
$ python manage.py migrateEtapa 5 -
Generate API
$ python manage.py generate-api
// OR
$ python manage.py generate-api -f # supress confirmation (forcing mode) O código é gerado na pasta api na raiz do projeto. Em cada iteração, o código da API é substituído .
Etapa 6 -
Update routing, inclua APIs
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
] Etapa 7 -
Use API
Se o modelo gerenciado for Books , a interface da API é /api/books/ e todos os métodos CRUD estarão disponíveis.
Nota: Para solicitações de mutação, o
JWT Tokené fornecido porhttp://localhost:8000/login/jwt/route (o usuário deve existir).

AppSeedEmail e DiscordDjango API Gerator-Biblioteca de código aberto fornecido pelo aplicativo-gerador