Python:导入之间要持久化列表的单例类对象?(如django管理员注册)

Python:导入之间要持久化列表的单例类对象?(如django管理员注册),python,django,function,methods,singleton,Python,Django,Function,Methods,Singleton,我想拥有dict/list,我可以向其中添加值,就像模型可以添加到django中的管理寄存器一样 我的尝试:(package->\uuuuu init\uuuuuu.py) #我们应该得到:[“数据”,“数据2”] #我们得到:[“数据2”] 如何实现所需的功能 有人说,如果不需要子分类,方法可以做到这一点,那么如何使用方法做到这一点 更新: 更清楚地说: 就像django admin register一样,任何人都可以导入并向admin注册自己,以便在导入之间持久化寄存器 不要。如果你认为你需

我想拥有
dict/list
,我可以向其中添加值,就像模型可以添加到django中的管理寄存器一样

我的尝试:(
package->\uuuuu init\uuuuuu.py

#我们应该得到:[“数据”,“数据2”] #我们得到:[“数据2”]

如何实现所需的功能

有人说,如果不需要子分类,方法可以做到这一点,那么如何使用方法做到这一点

更新: 更清楚地说:

就像django admin register一样,任何人都可以导入并向admin注册自己,以便在导入之间持久化寄存器

  • 不要。如果你认为你需要一个全球性的解决方案,你就不需要了,你应该重新评估你是如何解决这个问题的,因为99%的时候你都做错了

  • 如果你有一个很好的理由这么做,也许线程_locals()会真正解决你试图解决的问题。这允许您设置线程级全局数据。注意:这只比真正的全局搜索稍微好一点,通常应该避免,而且它会给你带来很多麻烦

  • 如果您正在寻找一个交叉请求“全局”,那么您很可能希望在memcached中存储值


  • 如果你要找的是单身汉,看看以前的博客吧。它包含一个指向一个有良好文档记录的实现()的链接。

    我真的不确定您想要实现什么。听起来你似乎出于某种原因试图设置一个全局变量。我想要某种类型的全局
    列表
    ,可以向其中添加值,它应该是全局的,并且在导入时不应该重新初始化。在维护全局注册表时,我必须执行类似于
    django admin register
    的功能。
    # Singleton object
    
    # __init__.py (Package: pack)
    class remember:
      a = []
      def add(data):
        a.append[data]
    
      def get():
        return a
    
    obj = remember()
    
    
    # models1.py
    import pack
    
    pack.obj.add("data")
    
    # models2.py
    import pack
    
    pack.obj.add("data2")
    print pack.obj.get()