基于django rest framework(drf)加速开发的常见快捷方式。
drf_shortcuts的Python项目详细描述
DRF快捷键
基于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 ...