基于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第三方库


热门话题
HTTP标头的java InputStream未终止   java测试SpringWebListener   具有定义的替换编号Java的regex ReplaceAll   在java中使用contains()方法   java在选择查询中使用JoinColumn字段   具有用户的java Start-stop demon不是以给定用户启动   java glBufferData生成GL\u无效\u操作   java中循环代码的循环   Java位无符号移位(>>>>)会产生奇怪的结果   java HQL使用点分隔符从select获取结果   条纹、弹簧、玩耍(或?):使用哪种高性能Java框架?   广播接收机中的java停止服务   java回收器视图占据整个屏幕。不在上面显示我的UI元素   java使MySQL查询更快   java MappedByteBuffer查询   java递归算法问题