Einfaches Tool, das sich mit minimalem Aufwand auf sichere APIs über DRF erzeugt - aktiv unterstützt von App -Generator .
Eine vollständige Anzahl von Funktionen und langfristigen Unterstützung finden Sie in Dynamic Django , einem leistungsstarken Starter, der enthält:
Merkmale
API engine von DRF bereitgestelltJWT Tokens gesichert (Mutationsanfragen)Minimal Configuration (Einzelzeile in der Konfiguration für jedes Modell)Handles any model , das über das Projekt definiert istCRUD Access Logic:READ ist öffentlich (alle Artikel, Element mit ID)Mutating requests werden von JWT Tokens geschützt 
Schritt 1 -
Install the package
$ pip install django-api-generator
// OR
$ pip install git+https://github.com/app-generator/django-api-generator.gitSchritt 2 -
Update Configurationdie neuen Apps
INSTALLED_APPS = [
'django_api_gen' , # Django API GENERATOR # <-- NEW
'rest_framework' , # Include DRF # <-- NEW
'rest_framework.authtoken' , # Include DRF Auth # <-- NEW
]Schritt Nr. 3 -
Register the modelincore/settings.py(API_GENERATOR -Abschnitt).
Dieser Beispielcode geht davon aus, dass app1 existiert und das Book definiert und migriert wird.
API_GENERATOR = {
# pattern:
# API_SLUG -> Import_PATH
'books' : "app1.models.Book" ,
}
REST_FRAMEWORK = {
'DEFAULT_AUTHENTICATION_CLASSES' : [
'rest_framework.authentication.SessionAuthentication' ,
'rest_framework.authentication.TokenAuthentication' ,
],
}Schritt Nr. 4 -
Migrate DBund erstellen Sie die vonDRFverwendeten Tabellen
$ python manage.py makemigrations
$ python manage.py migrateSchritt 5 -
Generate API
$ python manage.py generate-api
// OR
$ python manage.py generate-api -f # supress confirmation (forcing mode) Der Code wird unter dem api -Ordner im Stammwurzel des Projekts generiert. Bei jeder Iteration wird der API -Code überschrieben .
Schritt Nr. 6 -
Update routing, APIs enthalten
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
] Schritt Nr. 7 -
Use API
Wenn das verwaltete Modell Books ist, ist die API -Schnittstelle /api/books/ und alle Crud -Methoden sind verfügbar.
Hinweis: Für Mutationsanforderungen wird das
JWT Tokenvonhttp://localhost:8000/login/jwt/Route bereitgestellt (der Benutzer sollte existieren).

AppSeedEmail und DiscordDjango API-Generator-Open-Source-Bibliothek von App-Generator bereitgestellt