Simple tool that Generates Secure APIs on top of DRF
with minimum effort - actively supported by AppSeed.
Dynamic API Features
- see video presentation
API engine
provided byDRF
Minimal Configuration
(single line in config for each model)Handles any model
defined across the project
Step #1 -
Install the package
$ pip install django-dynamic-api
// OR
$ pip install git+https://github.com/app-generator/django-dynamic-api.git
Step #2 -
Update Configuration
, include the new APPs
INSTALLED_APPS = [
'django_dyn_api', # Django Dynamic API # <-- NEW
'rest_framework', # Include DRF # <-- NEW
'rest_framework.authtoken', # Include DRF Auth # <-- NEW
]
Step #3 -
Register the model
incore/settings.py
(DYNAMIC_API section)
This sample code assumes that app1
exists and model Book
is defined and migrated.
DYNAMIC_API = {
# pattern:
# API_SLUG -> Import_PATH
'books' : "app1.models.Book",
}
REST_FRAMEWORK = {
'DEFAULT_AUTHENTICATION_CLASSES': [
'rest_framework.authentication.SessionAuthentication',
'rest_framework.authentication.TokenAuthentication',
],
}
Step #4 -
Migrate DB
and create the tables used byDRF
$ python manage.py makemigrations
$ python manage.py migrate
Step #5 -
Update routing
, include 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('', include('django_dyn_api.urls')), # <-- NEW
path('login/jwt/', view=obtain_auth_token), # <-- NEW
]
Step #6 -
Use API
If the managed model is Books
, the API interface is /api/books/
and all CRUD methods are available.
Note: for mutating requests, the
JWT Token
is provided byhttp://localhost:8000/login/jwt/
route (the user should exist).
- DRF - HOMEpage
- More Developer Tools provided by
AppSeed
- Ask for Support via
Email
&Discord
Django Dynamic API - Open-source library provided by AppSeed