Alat sederhana yang menghasilkan API aman di atas DRF dengan upaya minimum - secara aktif didukung oleh APP -generator .
Untuk serangkaian fitur lengkap dan dukungan jangka panjang, periksa Dynamic Django , starter yang kuat yang menggabungkan:
Fitur
API engine disediakan oleh DRFJWT Tokens (permintaan bermutasi)Minimal Configuration (baris tunggal dalam konfigurasi untuk setiap model)Handles any model yang didefinisikan di seluruh proyekCRUD :READ adalah publik (semua item, dapatkan item dengan ID)Mutating requests dilindungi oleh JWT Tokens 
Langkah #1 -
Install the package
$ pip install django-api-generator
// OR
$ pip install git+https://github.com/app-generator/django-api-generator.gitLangkah #2 -
Update Configuration, sertakan aplikasi baru
INSTALLED_APPS = [
'django_api_gen' , # Django API GENERATOR # <-- NEW
'rest_framework' , # Include DRF # <-- NEW
'rest_framework.authtoken' , # Include DRF Auth # <-- NEW
]Langkah #3 -
Register the modeldalamcore/settings.py(bagian API_Generator)
Kode sampel ini mengasumsikan bahwa app1 ada dan Book model didefinisikan dan dimigrasi.
API_GENERATOR = {
# pattern:
# API_SLUG -> Import_PATH
'books' : "app1.models.Book" ,
}
REST_FRAMEWORK = {
'DEFAULT_AUTHENTICATION_CLASSES' : [
'rest_framework.authentication.SessionAuthentication' ,
'rest_framework.authentication.TokenAuthentication' ,
],
}Langkah #4 -
Migrate DBdan buat tabel yang digunakan olehDRF
$ python manage.py makemigrations
$ python manage.py migrateLangkah #5 -
Generate API
$ python manage.py generate-api
// OR
$ python manage.py generate-api -f # supress confirmation (forcing mode) Kode ini dihasilkan di bawah folder api di akar proyek. Pada setiap iterasi kode API ditimpa .
Langkah #6 -
Update routing, sertakan 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
] Langkah #7 -
Use API
Jika model yang dikelola adalah Books , antarmuka API adalah /api/books/ dan semua metode CRUD tersedia.
Catatan: Untuk permintaan yang bermutasi,
JWT Tokendisediakan olehhttp://localhost:8000/login/jwt/rute (pengguna harus ada).

AppSeedEmail & DiscordDjango API Generator-Perpustakaan Open-Source Disediakan oleh App-Generator