跳转到主要内容

Django的简单、易读、声明式API

项目描述

Documentation Status

概述

django-declarative-apis 是一个建立在 Django 之上的框架,旨在帮助团队实现 RESTful API。它提供了一个简单的接口来声明式地定义端点。使用 django-declarative-apis 的好处包括:

  • 声明式定义端点
  • 使用统一的接口定义模型绑定和非绑定资源端点
  • 开箱即用的 OAuth 1.0a 认证
  • 定义资源端点相关的任务,促进模块化
  • 定义同步和异步任务(异步任务通过 Celery 实现)
  • 请求体处理和业务逻辑之间的关注点分离

快速入门

本指南旨在展示启动 django-declarative-apis 项目所需的最小步骤。示例目录包含使用端点与模型关系、认证和响应属性过滤的进一步示例。

创建 django 应用

./manage startapp myapp

将应用添加到 INSTALLED_APPS

INSTALLED_APPS = [
   'django_declarative_apis',
   'myapp',
]

添加所需配置

DECLARATIVE_ENDPOINT_RESOURCE_ADAPTER = 'django_declarative_apis.adapters.EndpointResource'
DECLARATIVE_ENDPOINT_AUTHENTICATION_HANDLERS = 'django_declarative_apis.authentication.oauthlib.oauth1.TwoLeggedOauth1'

myapp/urls.py

from django_declarative_apis import adapters
import myapp.resources

class NoAuth:
   @staticmethod
   def is_authenticated(request):
      return True


urlpatterns = [
    url(
        r'^ping$',
        adapters.resource_adapter(
            get=myapp.resources.PingDefinition,
            authentication=NoAuth
        )
    ),
]

myproject/myproject/urls.py

from django.conf.urls import url, include
import myapp.urls

urlpatterns = [
   url(r'^', include(myapp.urls)),
]

myapp/resources.py

from django_declarative_apis import machinery


class PingDefinition(machinery.BaseEndpointDefinition):
    def is_authorized(self):
        return True

    @property
    def resource(self):
        return {'ping': 'pong'}

项目详情


下载文件

下载适合您平台文件。如果您不确定选择哪个,请了解有关 安装包 的更多信息。

源代码分发

django-declarative-apis-0.31.7.tar.gz (52.0 kB 查看散列)

上传时间 源代码

构建分发

django_declarative_apis-0.31.7-py3-none-any.whl (56.8 kB 查看散列)

上传时间 Python 3

由以下机构支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面