Django的简单、易读、声明式API
项目描述
概述
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.tar.gz 的散列
算法 | 散列摘要 | |
---|---|---|
SHA256 | c4d19d9e13c57e53da5747b0497f77b2885025628a30029832bbae80125e326d |
|
MD5 | ee6c531d25a925b5ee9d572d49460bb7 |
|
BLAKE2b-256 | d2e3d018350eecc1231cc8d3311d4950c3f2eb5fe178b8e6a6efb35a7795ac38 |
关闭
django_declarative_apis-0.31.7-py3-none-any.whl 的散列
算法 | 散列摘要 | |
---|---|---|
SHA256 | d5ff2707567956a4d9e692ea034a2335af37517be03f2700cd547b17fe64f515 |
|
MD5 | afb237807aa4aa954e3d08790c646b03 |
|
BLAKE2b-256 | 72029288eaa1f42ac754c28fd01f329d2ccd216b75a38479a70ea4a0488d9342 |