django - 应用程序之间共享的全局变量
问题描述
假设我有两个应用程序:data
和visual
. 应用程序data
在启动时执行数据库检索。这里的这个线程和这个文档就如何以及在哪里放置启动时执行的代码提供了建议。所以,在应用程序中data
:
#apps.py
from django.apps import AppConfig
global_df #want to declare a global variable to be shared across all apps here.
class DataConfig(AppConfig):
# ...
def ready(self):
from .models import MyModel
...
df = retrieve_db() #retrieve model instances from database
...
return df
在上面的代码中,我希望ready()
在启动时执行一次并返回df
到共享的全局变量(在本例中为global_df
)。应用程序visual
应该能够(通过import
,也许)访问 this global_df
。但是,对此的任何进一步修改global_df
只能在 app 中完成data
。
这里的这个线程建议将任何全局变量放在应用程序的__init__.py
文件中。但它提到这仅适用于environmental variable
.
两个问题:
1 - 我如何以及在哪里声明这样一个全局变量?
2 - 在启动时,如何将只执行一次的函数的输出传递给这个全局变量?
一些线程讨论 Redis 用于缓存目的。但我并不是在寻找那个解决方案,因为这对于我遇到的问题来说似乎有点过头了。
解决方案
推荐阅读
- oracle-sqldeveloper - 如何在不访问数据库文件系统的情况下从 Oracle 数据库中转储数据
- android - 我的广告未显示,广告无法加载:3
- javascript - 如何根据单击的按钮更新 Ajax 调用?
- java - Keytool - 使用现有私钥生成 X.509 格式的公钥
- ios - macOS 更新后 ios 模拟器缺少设备
- python - 如何通过python在数据库中打印consol的结果
- azure - SAS 运行时,azure vm 上随机出现“错误页面状态”内核错误
- sql - Scala Spark 使用过滤器表达式使用 ACL 创建额外的列
- javascript - Tic Tac Toe React Js:无法打印位置
- woocommerce - 如何删除 Woocommerce 中的特色图片?