django - 如何从基于类的视图中重用代码 - Django Rest Framework
问题描述
我是 Django/Django 休息框架基于类的视图的新手。如果是重复的问题,请原谅。
考虑一下我有一个像这样的基于类的视图。
class UserBucket(APIView):
def get(self, request):
...
...
return Response(some_data)
def put(self, request):
...
...
return Response(some_data)
class FilterView(APIView):
def get(self, request):
data_to_filter = request.query_params.get('filterData')
# filter logic goes here
...
...
return Response(filtred_data)
如果我想在 UserBucket 的 put 方法中使用这个 FilterView 代码,这样我就可以保持 DRY 原则,我该如何实现呢?我在这里真正想做的是,从 UserBucket put 方法中,我想用几个参数调用 FilterView 的 get 方法并取回结果。
解决方案
尝试使用带有 Mixins 的通用视图,或者你可以深入他们的代码来学习如何实现这样的
https://www.django-rest-framework.org/api-guide/generic-views/#mixins
https://github.com/encode/django-rest-framework/blob/master/rest_framework/viewsets.py
推荐阅读
- google-cloud-bigtable - 云大表中的聚合操作
- npm - npm start 抛出错误:internal/modules/cjs/loader.js:1032 throw err
- excel - 如何从一个具有可变行数的工作表中获取平均值并将其放到另一个工作表中?
- python - Cython,调用 shell 命令。性能提升
- vuejs2 - Axios 获取单一配置文件
- lit-element - 通过引用嵌套的 lit-element 传递对象
- string - Linux sed 命令:将 string1 替换为 string2 但仅当 string1 不在行尾时
- azure-devops - 不适用于测试计划测试套件和测试用例链接
- flutter - 颤动-使用文档中显示的bottomNavigationBar是非执行性的吗?
- javascript - HTML / CSS 全屏轮播图片