drf-schema-adapter
is a set of tools used to make it as straight-forward to declare an API endpoint
as it is to declare a new ModelAdmin
in Django and export the corresponding definition to frontend
frameworks and libraries.
DRF-schema-adapter is compatible with the following matrix
Py 3.5 | Py 3.6 | Py 3.7 | Py 3.8 | |
---|---|---|---|---|
Django 2.0 | DRF 3.8-3.10 | DRF 3.8-3.10 | DRF 3.8-3.10 | Untested |
Django 2.1 | DRF 3.8-3.10 | DRF 3.8-3.10 | DRF 3.8-3.10 | Untested |
Django 2.2 | No | DRF 3.8-3.10 | DRF 3.8-3.10 | DRF 3.8-3.10 |
Django 3.0 | No | DRF 3.10 | DRF 3.10+ | DRF 3.10+ |
:warning: For Python 2.7 or Django 1.x support, please use versions 1.x or prior
pip install drf-schema-adapter
Within the source directory:
python setup.py install
You can see a demo application running at https://djembersample.pythonanywhere.com/.
First of all you'll need to import the default EndpointRouter in your urls.py file.
from drf_auto_endpoint.router import router
As well as add its urls to your urlpatterns
in urls.py
, the same way you would with DRF's
DefaultRouter
.
urlpatterns = [
...
url(r'^api/', include(router.urls)),
...
]
The quickest way to get a working endpoint is to register a model with the router. Register accepts
an optional keyword argument for the url
associated to that endpoint. By default the url for an
endpoint willbe app_label/verbose_name_plural
from drf_auto_endpoint.router import router
from my_app.models import MyModel, OtherModel
router.register(MyModel)
router.register(OtherModel, url='my_custom_url')
urlpatterns = [
url(r'^api/', include(router.urls)),
]
OPTIONS
callsDjango REST framework provides the ability to customize those calls thanks to metadata classes.
Setup DRF to use one of DRF-schema-adapter's metadata classes to get schema information:
## settings.py
...
REST_FRAMEWORK = {
'DEFAULT_METADATA_CLASS': 'drf_auto_endpoint.metadata.AutoMetadata',
}
First add 'export_app'
to your setting's INSTALLED_APPS
, then run:
./manage.py export --adapter_name EmberAdapter samples/products
For much more complete documentation, please see: http://drf-schema-adapter.readthedocs.io
If you'd like to contibute to *DRF-schema-adapter**, you are more than welcome to do so. In order to make contributing to this project a rich experience for everyone, please follow these guide-lines:
License information available here.
Contributors code of conduct is available here. Note that this COC will be enforced.