python - 在django中设置一个全局变量

标签 python django

我正在使用 elasticsearch 并且需要建立一个持久连接到它,我在我的项目的任何地方重新使用它。然而,经过大量挖掘,我仍然不确定如何正确创建一个全局变量,我可以肯定它只会被实例化一次。我创建了以下文件:

es.py

from elasticsearch import Elasticsearch
es = Elasticsearch()

我在任务和 View 等地方使用它如下:

import es
es.es.search(***********)

但对我来说,这似乎只是每次调用 es = Elasticsearch(),导致重新创建连接。我的方法正确吗?

最佳答案

无论模块和变量名的选择如何(es.es 看起来很别扭),你所做的似乎没问题。

Elasticsearch() 只会被调用一次,无论您在其余代码中导入该模块多少次。

我认为如果连接丢失,您会希望通过某种方式重新连接,但那是另一回事。

关于python - 在django中设置一个全局变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33582737/

相关文章:

python - reshape 数组后keras中的索引错误

python - 在 Python 中一次遍历列表选择多个元素

python - 在 NetworkX 中是否可以将节点定义为子图?

Django - 在模板中单独呈现 CheckboxSelectMultiple() 小部件(手动)

django - 通过 jQuery 的 $.load() 在 GET 请求中将 Json 发送到 Django

python - 即使扩展了模板,为什么还要为每个模板加载静态文件?

python - 最简单的Python用户注册系统?

django - django.contrib.auth.user 的唯一电子邮件约束

python - 上传目的地

python - 在 Tornado 中插入引擎