[Django-pymongo]:跨请求保留 Mongo 连接?

[Django-pymongo]: Retain Mongo connection across request?


我有下面的代码来打开与 mongo 在 django 视图下部署在 altas 中的集群的连接。
def homePage(request):
    context = {}
    import pymongo
    client = pymongo.MongoClient(<connection str>)
    db = client.foo
    return render(request, 'Home/index.html', context)

我看到它为每个请求打开一个新连接,这增加了加载页面的延迟。 有什么办法可以将此连接代码移到其他地方并在所有请求中重用连接句柄吗?

我尝试将代码移动到 settings.py 并尝试将数据库句柄导出到 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')