Django 如何实现非端点API函数?

Django 如何实现非端点API函数?,django,rest,django-rest-framework,django-class-based-views,Django,Rest,Django Rest Framework,Django Class Based Views,这是一个相当高层次的问题,但我在其他地方找不到任何解释: 我有一个基于django类的视图,它的端点是GET,POST,但我有另一个方法,它不是端点,但我想包括在GET/POST方法中使用的方法中。实施这一目标的最佳实践是什么 例如: class users(APIView): def get(self, request): # get method helperFunction() def post(self, request):

这是一个相当高层次的问题,但我在其他地方找不到任何解释:

我有一个基于django类的视图,它的端点是GET,POST,但我有另一个方法,它不是端点,但我想包括在GET/POST方法中使用的方法中。实施这一目标的最佳实践是什么

例如:

class users(APIView):

    def get(self, request):
        # get method
        helperFunction()

    def post(self, request):
        # post method
        helperFunction()

    def helperFunction():
        # not an endpoint
这样做对吗?helperFunction应该是类之外的独立函数吗?或者非端点方法应该在单独的类中吗


对于缺乏特殊性表示歉意。

根据函数使用的数据选择位置

如果它应该处理仅与类相关的数据 实例,则它属于该类 如果它应该处理特定于类类型的数据,则将其作为静态方法添加到类中,并使用 需要处理的具体实例 如果它应该处理一组数据的公共数据 类,它们可以创建一个抽象类 存在并继承使用函数的所有类,或者 这是最后一个选项

例如,如果它有一个通用的时间格式,就把它放到全局空间中。现在理想的情况是你想要 要有一个单独的文件,所有的垃圾堆,它使代码的基础 易于维护。然而,在现实中,保留它可能更好 在您的类提供其他使用的类的文件中 它在同一个文件中


如果在视图中使用,为什么不将其包含在类中?视图类已经包含了很多相关的方法,例如get_context_data、get_object等等。正如Daniel所提到的,问问自己这个助手应该执行什么样的任务是明智的。如果它没有准备好,或者在相关的方法中没有你喜欢的方式,你可以覆盖其中一个方法来满足你的需要。我需要在其他地方使用这个函数,所以我不知道该把它放在哪里。我是面向对象编程新手,所以它让我的大脑有点崩溃