Contents
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 model.objects |
---|---|
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