У меня есть приложение Django 3, использующее класс обслуживания LDAP, например:
class LDAPService:
def init(self, host: str, user: str, password: str, ssl: bool = True):
...
def bind(): # The connection is done here, __init__ just sets values
....
def create_ou(base: str, ou_name: str):
....
Где (или когда) мне следует инициализировать службу, чтобы использовать ее в представлениях? Шаг привязки занимает около 2 секунд, я не могу сделать это при каждом запросе. Как я могу сохранить экземпляр этого класса общим, а не делать это каждый раз? У меня может быть решение, использующее синглтон и / или инициализирующее его в подобных файлах настроек, но я думаю, что есть лучший способ сделать это.
Я знаю, что на производстве может быть несколько рабочих, поэтому несколько экземпляров , но я согласен с этим.
Еще один вопрос: как все это можно сделать выше, с учетными данными соединений из модели базы данных (поэтому не при django запуске, но в любое время)
Я совершенно новичок в экосистеме django, все, что я обнаружил в слое обслуживания, было все о django моделях. Я хочу сделать тот же интерфейс, который я сделал бы для моделей на обычном уровне обслуживания, но работая над чем-то, кроме django моделей.
Я думаю, что само соединение LDAP не должно быть, только методы CRUD , но я не знаю, где его разместить и как заставить django взаимодействовать с.
Заранее спасибо за ваши предложения:)