Skip to main content

No project description provided

Project description

Build Status pypi python license Development status https://coveralls.io/repos/github/hulygun/django-api-toolkit/badge.svg?branch=master

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for django-api-toolkit, version 0.1.6
Filename, size & hash File type Python version Upload date
django-api-toolkit-0.1.6.tar.gz (7.8 kB) View hashes Source None

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page