在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
开源软件名称:django-json-api/django-rest-framework-json-api开源软件地址:https://github.com/django-json-api/django-rest-framework-json-api开源编程语言:Python 99.3%开源软件介绍:JSON:API and Django REST frameworkOverviewJSON:API support for Django REST framework
By default, Django REST framework will produce a response like: { "count": 20, "next": "https://example.com/api/1.0/identities/?page=3", "previous": "https://example.com/api/1.0/identities/?page=1", "results": [{ "id": 3, "username": "john", "full_name": "John Coltrane" }] } However, for an { "links": { "prev": "https://example.com/api/1.0/identities", "self": "https://example.com/api/1.0/identities?page=2", "next": "https://example.com/api/1.0/identities?page=3", }, "data": [{ "type": "identities", "id": "3", "attributes": { "username": "john", "full-name": "John Coltrane" } }], "meta": { "pagination": { "count": 20 } } } GoalsAs a Django REST framework JSON:API (short DJA) we are trying to address following goals:
Requirements
We highly recommend and only officially support the latest patch release of each Python, Django and REST framework series. Generally Python and Django series are supported till the official end of life. For Django REST framework the last two series are supported. For optional dependencies such as Django Filter only the latest release is officially supported even though lower versions should work as well. InstallationInstall using $ pip install djangorestframework-jsonapi $ # for optional package integrations $ pip install djangorestframework-jsonapi['django-filter'] $ pip install djangorestframework-jsonapi['django-polymorphic'] $ pip install djangorestframework-jsonapi['openapi'] or 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 . and add INSTALLED_APPS = [ ... 'rest_framework', 'rest_framework_json_api', ... ] Running the example appIt is recommended to create a virtualenv for testing. Assuming it is already installed and activated: $ git clone https://github.com/django-json-api/django-rest-framework-json-api.git $ cd django-rest-framework-json-api $ pip install -Ur requirements.txt $ django-admin migrate --settings=example.settings $ django-admin loaddata drf_example --settings=example.settings $ django-admin runserver --settings=example.settings Browse to
Usage
SettingsOne can either add REST_FRAMEWORK = { 'PAGE_SIZE': 10, 'EXCEPTION_HANDLER': 'rest_framework_json_api.exceptions.exception_handler', 'DEFAULT_PAGINATION_CLASS': 'rest_framework_json_api.pagination.JsonApiPageNumberPagination', '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_json_api.renderers.BrowsableAPIRenderer', ), 'DEFAULT_METADATA_CLASS': 'rest_framework_json_api.metadata.JSONAPIMetadata', 'DEFAULT_FILTER_BACKENDS': ( 'rest_framework_json_api.filters.QueryParameterValidationFilter', 'rest_framework_json_api.filters.OrderingFilter', 'rest_framework_json_api.django_filters.DjangoFilterBackend', 'rest_framework.filters.SearchFilter', ), 'SEARCH_PARAM': 'filter[search]', 'TEST_REQUEST_RENDERER_CLASSES': ( 'rest_framework_json_api.renderers.JSONRenderer', ), 'TEST_REQUEST_DEFAULT_FORMAT': 'vnd.api+json' } This package provides much more including automatic inflection of JSON keys, extra top level data (using nested serializers), relationships, links, paginators, filters, and handy shortcuts. Read more at https://django-rest-framework-json-api.readthedocs.org/ |
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论