为模型自动生成API。公开核心Django功能。与现有表单进行验证。
项目描述
DRFE为任何Django模型生成RESTful API。它建立在Django Rest Framework之上。
先决条件
- pip install djangorestframework 
- 将 rest_framework 添加到您的 settings.py 中的 INSTALLED_APPS 设置。 
安装
- 安装或添加 djangorestframework-extras 到您的Python路径。 
- 将 rest_framework_extras 添加到您的 settings.py 中的 INSTALLED_APPS 设置。 
功能列表
- 为所有已知应用程序生成默认序列化器和视图集以创建RESTful API。 
- 将应用程序中已知的所有视图集与Django Rest Framework路由器进行注册。 
- 为默认用户、工作人员用户和超级用户自定义序列化器和权限。 
- 自定义FormMixin,将验证委托给普通Django表单。 
- 自定义超链接字段和序列化器,HyperlinkedRelatedField 和 HyperlinkedModelSerializer 
使用
用户权限和自定义UsersViewSet
djangorestframework-extras 提供了一个自定义视图集 UsersViewSet,其中包含默认用户、工作人员用户和超级用户的序列化器和权限。
通过默认路由器注册UsersViewSet
from rest_framework_extras.users.viewsets import UsersViewSet router = routers.DefaultRouter() router.register(r'users', UsersViewSet, 'user')
视图集的发现和注册
通过在urls.py中添加以下内容来启用默认序列化器和视图集的发现和注册:
from rest_framework import routers
import rest_framework_extras
router = routers.DefaultRouter()
rest_framework_extras.discover(router)
rest_framework_extras.register(router)
urlpatterns = [
    url(r"^api/(?P<version>(v1))/", include(router.urls))
]
逐行分析代码
- 第1行和第3行:路由器和DefaultRouter类自动连接视图和URL,并创建API根。 
- 第5行:新的discover函数生成默认的序列化器和视图集。此函数应在正常注册之前运行。 
- 第6行:新的register函数注册所有视图集(包括UsersViewSet),覆盖任何已以相同名称注册的项目。 
- 第9行:通过包含router.urls来定义URL。 
可用设置
REST_FRAMEWORK_EXTRAS
blacklist:要加入黑名单的模型字典。默认情况下,以下模型被加入黑名单
"REST_FRAMEWORK_EXTRAS": {
   "blacklist": {
        "sessions-session": {},
        "admin-logentry": {}
   },
   "authentication-classes": (SessionAuthentication, BasicAuthentication),
   "permission-classes": (DjangoModelPermissions,)
}
提示
通过更改mapping参数来更改已注册的用户模型名称,例如
rest_framework_extras.register(router, mapping=(("user", UsersViewSet),))
使用only和override参数限制将通过Django Rest Framework显示的模型。定义一个以逗号分隔的列表,例如
rest_framework_extras.discover(router, only=["auth-user", "auth-permission"])
todo:记录override
单元测试
使用以下命令运行测试
python manage.py test rest_framework_extras.tests --settings=rest_framework_extras.tests.settings.111
许可协议
请参阅此存储库中LICENSE文件的许可要求。
项目详情
下载文件
下载适用于您平台文件的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。
源分布
构建分布
djangorestframework-extras-0.3.0.tar.gz的散列
| 算法 | 散列摘要 | |
|---|---|---|
| SHA256 | 35f9a712707908d339a5e0b7ad1d77332a3d3de194f25faf7e473b99ea92ad71 | |
| MD5 | d3213a2311a6b8058f0360043f4f46e3 | |
| BLAKE2b-256 | 3b2d682d0243538511d2a5bcb78df4a062d03ba36463fd5c44dd4b5d4757a842 | 
djangorestframework_extras-0.3.0-py2.7.egg的散列
| 算法 | 散列摘要 | |
|---|---|---|
| SHA256 | 9264d3370ae400d2436a8383bbc20011c4b86466bc165772ffce09d93f8349cf | |
| MD5 | 2deae238348f1ec198664a053c0edec2 | |
| BLAKE2b-256 | e2df0fc825c617ee1337b1f8cc92b8d28bc3dc06b634baafec7744044438a03f |