用于Django的简单、可读、声明性api
django-declarative-apis的Python项目详细描述
概述
django声明性api是在django之上构建的一个框架,旨在实现restfulapi的团队。它提供了一个简单的接口来声明性地定义端点。使用django声明性api的一些好处:
- 以声明方式定义终结点
- 使用一致的接口定义模型绑定和未绑定的资源终结点
- OAuth 1.0a现成的身份验证
- 定义资源和端点绑定任务,促进模块化 *定义同步和异步任务(用Celery实现的异步任务)
- 请求体处理和业务逻辑之间的关注点分离
快速入门
本指南旨在演示让django声明性api项目启动并运行的最低限度。example目录包含更多使用端点来建模关系、身份验证和响应属性过滤的示例。在
创建django应用程序
./manage startapp myapp
将应用添加到已安装的应用程序
^{pr2}$添加所需配置
DECLARATIVE_ENDPOINT_RESOURCE_ADAPTER = 'django_declarative_apis.adapters.EndpointResource' DECLARATIVE_ENDPOINT_AUTHENTICATION_HANDLERS = 'django_declarative_apis.authentication.oauthlib.oauth1.TwoLeggedOauth1'
我的应用程序/网址.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 ) ), ]
我的项目/我的项目/网址.py在
from django.conf.urls import url, include import myapp.urls urlpatterns = [ url(r'^', include(myapp.urls)), ]
我的应用程序/资源.py在
from django_declarative_apis import machinery class PingDefinition(machinery.BaseEndpointDefinition): def is_authorized(self): return True @property def resource(self): return {'ping': 'pong'}
- 项目
标签: