Я новичок в Django Rest Framework.
У меня есть views.py
, который выглядит примерно так:
class MyAPIView(APIView):
""" My API """
def get(self, request, path):
""" Handles GET calls """
def post(self, request, path):
""" Handles POST calls """
И у меня в пакете класс утилит, например:
класс MyUtilClass:
"" "Помогает с вещами" ""
def some_method (self, path):
print («Я сейчас сделаю все по пути:», путь)
Теперь я хотел бы добавить экземпляр какого-то другого класса, который выполняет какую-то задачу, которую он должен сделать, на мой взгляд. Примерно так:
class MyAPIView(APIView):
""" My API """
_some_util_instance = None # How to inject this?
def __init__(self, util_instance):
self._some_util_instance = util_instance # Is this the right way?
def get(self, request, path):
""" Handles GET calls """
self._some_util_instance.some_method(path) # This is why I want this object injected.
def post(self, request, path):
""" Handles POST calls """
Каков наилучший способ внедрить такой экземпляр в мой класс представлений?
Я не мог найти много об этом в документации. Я знаком с использованием контейнеров DI и IoC. Однако я не уверен, как Django Rest Framework справится со всем этим.