[Django-pymongo]: Сохранять соединение с Mongo через запрос?


Ниже приведен код для открытия соединения с кластером mongo, развернутым в altas под django view.
def homePage(request):
    context = {}
    import pymongo
    client = pymongo.MongoClient(<connection str>)
    db = client.foo
    return render(request, 'Home/index.html', context)

Я вижу, что для каждого запроса открывается новое соединение, что добавляет задержку при загрузке страницы. Могу ли я как-то переместить этот код соединения куда-нибудь еще и повторно использовать хэндл соединения для всех запросов?

Я попробовал перенести код в settings.py и попробовал экспортировать хэндл db в views.py, но через некоторое время соединения разрываются.

Version of libs are:
Django                 4.0.1
django-settings-export 1.2.1
pip                    21.1.2
pymongo                4.0.1

Я не уверен, в чем ваша ошибка в settings.py, но подключение к БД должно быть в settings.py Пример подключения к MongoDB в settings.py

#Create mongo client
mongo_client = MongoClient(
    host='localhost',
    post=1234,
    username='db_username',
    password='db_password'
)

#Access a database:
    db = mongo_client['DatabaseName']

#Access a specific collection
    my_collection = db.get_collection('CollectionName')
Вернуться на верх