No project description provided
Project description
Instalation
pip install django-api-toolkit
Get started
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)
Usage
Structure
├── apps # dir for your apps
├── cfg # dir for diferent project configurations
│ ├── settings.py # user project settings
│ └── wsgi.py
└── manage.py
Settings
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
Models
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):
...
Advanced
RestModel have subclass Rest. This subclass have properties for control your rest models. RestModel also have classmethods for these controls.
RestModel overwrites
RestModel.Rest
- queryset:
defines queryset as lambda of
model.objects
- fields:
list of allowed fields of model
- name:
name of viewset
- route:
route of endpoint
RestModel._rest_serializer
Defines serializer for viewset of model
RestModel._rest_queryset
Defines queryset for viewset
RestModel._rest_endpoint
Set endpoint for your model
FEATURES
CHANGELOG
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.