[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')