Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Implements most of the JSON API 1.0 spec. If you're looking for rest_framework_ember (deprecated) check the `legacy` branch.

License

NotificationsYou must be signed in to change notification settings

imtapps-dev/django-rest-framework-json-api

 
 

Repository files navigation

https://travis-ci.org/django-json-api/django-rest-framework-json-api.svg?branch=developRead the docsCode ClimateJoin the chat at https://gitter.im/django-json-api/django-rest-framework-json-api

Documentation:http://django-rest-framework-json-api.readthedocs.org/

Live demo (resets every hour):http://json-api.jerel.co/

Format specification:http://jsonapi.org/format/

By default, Django REST Framework will produce a response like:

{    "count": 20,    "next": "http://example.com/api/1.0/identities/?page=3",    "previous": "http://example.com/api/1.0/identities/?page=1",    "results": [{        "id": 3,        "username": "john",        "full_name": "John Coltrane"    }]}

However, for anidentity model in JSON API format the response should looklike the following:

{    "links": {        "prev": "http://example.com/api/1.0/identities",        "self": "http://example.com/api/1.0/identities?page=2",        "next": "http://example.com/api/1.0/identities?page=3",    },    "data": [{        "type": "identities",        "id": 3,        "attributes": {            "username": "john",            "full-name": "John Coltrane"        }    }],    "meta": {        "pagination": {          "count": 20        }    }}

Requirements

  1. Django
  2. Django REST Framework

Installation

From PyPI

$ pip install djangorestframework-jsonapi

From Source

$ git clone https://github.com/django-json-api/django-rest-framework-json-api.git$ cd django-rest-framework-json-api && pip install -e .

Running the example app

$ git clone https://github.com/django-json-api/django-rest-framework-json-api.git$ cd django-rest-framework-json-api && pip install -e .$ django-admin.py runserver --settings=example.settings

Browse tohttp://localhost:8000

Running Tests

It is recommended to create a virtualenv for testing. Assuming it is alreadyinstalled and activated:

$ pip install -e .$ pip install -r requirements-development.txt$ py.test

Usage

rest_framework_json_api assumes you are using class-based views in DjangoRest Framework.

Settings

One can either addrest_framework_json_api.parsers.JSONParser andrest_framework_json_api.renderers.JSONRenderer to eachViewSet class, oroverridesettings.REST_FRAMEWORK

REST_FRAMEWORK = {    'PAGE_SIZE': 10,    'EXCEPTION_HANDLER': 'rest_framework_json_api.exceptions.exception_handler',    'DEFAULT_PAGINATION_CLASS':        'rest_framework_json_api.pagination.PageNumberPagination',    'DEFAULT_PARSER_CLASSES': (        'rest_framework_json_api.parsers.JSONParser',        'rest_framework.parsers.FormParser',        'rest_framework.parsers.MultiPartParser'    ),    'DEFAULT_RENDERER_CLASSES': (        'rest_framework_json_api.renderers.JSONRenderer',        'rest_framework.renderers.BrowsableAPIRenderer',    ),    'DEFAULT_METADATA_CLASS': 'rest_framework_json_api.metadata.JSONAPIMetadata',}

IfPAGINATE_BY is set the renderer will return ameta object withrecord count and alinks object with the next and previous links. Pagescan be specified with thepage GET parameter.

This package provides much more including automatic inflection of JSON keys, extra top level data (using nested serializers), relationships, links, and handy shortcuts like MultipleIDMixin. Read more athttp://django-rest-framework-json-api.readthedocs.org/

About

Implements most of the JSON API 1.0 spec. If you're looking for rest_framework_ember (deprecated) check the `legacy` branch.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python100.0%

[8]ページ先頭

©2009-2025 Movatter.jp