基于django rest framework(drf)加速开发的常见快捷方式。

drf_shortcuts的Python项目详细描述


DRF快捷键

Build StatusPyPI Version

基于django rest framework(drf)加速开发的捷径。

概述

DRF快捷方式库允许您:

  • 使用一行代码register_standard_endpoint(your_router, YourModel)公开django模型类。公开的api端点将支持对适当字段(由SearchFilter&;OrderingFilter筛选器后端备份)的项进行搜索和排序,并在对其发出OPTIONS请求时在两个可浏览api中都有很好的记录。
  • 使用一行代码为django模型创建基于rest_framework.viewsets.ModelViewSet的viewset类。视图集功能将类似于使用register_standard_endpoint快捷方式注册的功能。
  • 使用一行代码为django模型创建基于js的客户端友好序列化程序类。
  • 使用库类和助手函数来定制您自己的drf快捷方式。

要求

  • Python3.6+
  • Django 2.0+
  • django rest framework 3.8+

安装

使用pip安装:

pip install drf-shortcuts

示例

公开django模型:

# in urls.py

from rest_framework.routers import DefaultRouter
from drf_shortcuts.urls import register_standard_endpoint

from my_fancy_app.models import MyModel


router = DefaultRouter()

register_standard_endpoint(router, MyModel)

# ... more URL configuration code here ...

urlpatterns = router.urls

创建视图集类:

# in views.py

from drf_shortcuts.views import create_standard_viewset_class

from my_fancy_app.models import MyModel

MyModelViewSet = create_standard_viewset_class(MyModel)

创建序列化程序类:

# in serializers.py

from drf_shortcuts.serializers import create_standard_serializer_class

from my_fancy_app.models import MyModel

MyModelSerializer = create_standard_serializer_class(MyModel)

使用帮助程序自定义视图:

# in views.py

from rest_framework.viewsets import ReadOnlyModelViewSet
from drf_shortcuts.views import append_search_info_to_docstring
from drf_shortcuts.serializers import create_standard_serializer_class

from my_fancy_app.models import MyModel


@append_search_info_to_docstring
class MyModelViewSet(ReadOnlyModelViewSet):
    serializer_class = create_standard_serializer_class(MyModel)

    # ... rest of the view code ...

文档

访问project's GitHub Pages

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
安卓如何在java字符串中获取RATE的值   java ANT在哪里输出编译器错误?   在java中,while循环在何处启动对象   javacom。谷歌。格森。内部的LinkedTreeMap无法强制转换到我的类   java单选按钮。isSelected()方法未返回正确的响应   嵌入式系统中applet中的java相对码基字段   如何在eclipse中将Java应用程序附加到jvm探查器?   java为什么Android应用程序崩溃?   在java中拖放上传后保持文件夹结构   爪哇多领导人选举问题   java Springs RestTemplate如何处理postForEntity()中的错误响应   Java如何用前导零递增整数字符串?   java Android将文本作为图像共享给其他应用程序   Java搜索替换   java isDirectory()不适用于UNIX目录   java我们可以得到显示测试类是否通过或失败的TestNG报告吗   Java类对象排序和分组   简单Java幂递归   java在处理MethodArgumentNotValidException时如何访问请求对象?