Простой инструмент, который генерирует безопасные API на вершине DRF с минимальными усилиями - активно поддерживается App -Generator .
Для полного набора функций и долгосрочной поддержки, ознакомьтесь с динамическим Django , мощным стартером, который включает в себя:
Функции
API engine предоставлен DRFJWT Tokens (Mutrative Exprings)Minimal Configuration (одна строка в конфигурации для каждой модели)Handles any model , определенную через проектCRUD :READ общедоступно (все элементы, получите товар от id)Mutating requests защищены JWT Tokens 
Шаг № 1 -
Install the package
$ pip install django-api-generator
// OR
$ pip install git+https://github.com/app-generator/django-api-generator.gitШаг № 2 -
Update Configuration, включите новые приложения
INSTALLED_APPS = [
'django_api_gen' , # Django API GENERATOR # <-- NEW
'rest_framework' , # Include DRF # <-- NEW
'rest_framework.authtoken' , # Include DRF Auth # <-- NEW
]Шаг № 3 -
Register the modelвcore/settings.py(раздел API_Generator)
Этот пример кода предполагает, что app1 существует и модельная Book определяется и мигрирована.
API_GENERATOR = {
# pattern:
# API_SLUG -> Import_PATH
'books' : "app1.models.Book" ,
}
REST_FRAMEWORK = {
'DEFAULT_AUTHENTICATION_CLASSES' : [
'rest_framework.authentication.SessionAuthentication' ,
'rest_framework.authentication.TokenAuthentication' ,
],
}Шаг № 4 -
Migrate DBи создать таблицы, используемыеDRF
$ python manage.py makemigrations
$ python manage.py migrateШаг № 5 -
Generate API
$ python manage.py generate-api
// OR
$ python manage.py generate-api -f # supress confirmation (forcing mode) Код генерируется в папке api в корне проекта. На каждой итерации код API перезаписан .
Шаг № 6 -
Update routing, включайте 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
] Шаг № 7 -
Use API
Если управляемая модель - это Books , интерфейс API IS /api/books/ и все методы CRUD доступны.
ПРИМЕЧАНИЕ. Для мутирующих запросов
JWT Tokenпредоставляетсяhttp://localhost:8000/login/jwt/route (пользователь должен существовать).

AppSeedEmail и DiscordDjango API-генератор-библиотека с открытым исходным кодом