Very simple app for REST API create via Django Framework
pip install django-api-toolkit
In the first you need initialize your project
project_init <path to project>
For existing projects you should to generate env file
env_generator <path to project>
This script generate base variables that needed to run project. You can also add youself variables in env file You should also change your manage.py. Add APIManager to your file. e.q.
#!/usr/bin/env python import sys from api_tools.utils import APIManager if __name__ == "__main__": er = APIManager(__file__, 'cfg.settings') # path to user project settings er.set_app_dir('apps') # directory for user project applications er.apply() # apply settings from django.core.management import execute_from_command_line execute_from_command_line(sys.argv)
├── apps # dir for your apps ├── cfg # dir for diferent project configurations │ ├── settings.py # user project settings │ └── wsgi.py └── manage.py
- COMMON_APPS - django common applications
- THIRD_PARTY_APPS - third party applications
- EXTRA_APPS - applications should be insted before common apps
- PROJECT_APPS - your project applications
You also can overwrite other standard django settings keys and add yourself variables
All project models should be inherited of RestModel(this standart django abstract model and you can use all capabilities of this)
from api_tools.models import RestModel class MyModel(RestModel): ...
RestModel have subclass Rest. This subclass have properties for control your rest models. RestModel also have classmethods for these controls.
|queryset:||defines queryset as lambda of
|fields:||list of allowed fields of model|
|name:||name of viewset|
|route:||route of endpoint|
Defines serializer for viewset of model
Defines queryset for viewset
Set endpoint for your model