【发布时间】:2013-08-08 15:59:38
【问题描述】:
我很高兴接受这可能是不可能的,更不用说明智了,但是是否可以保持对我创建的对象的持久引用?
例如,在我的一些观点中,我的代码看起来有点像这样(为清楚起见进行了简化):
api = Webclient()
api.login(GPLAY_USER,GPLAY_PASS)
url = api.get_stream_urls(track.stream_id)[0]
client = mpd.MPDClient()
client.connect("localhost", 6600)
client.clear()
client.add(url)
client.play()
client.disconnect()
如果我可以在整个项目中只保留一个对api 和client 的引用,那将非常简洁,尤其是为了避免使用gmusicapi 重复进行api 登录。我可以在settings.py 中声明它们吗? (我猜这是一个糟糕的主意),或者通过其他方式与他们保持持久的联系?
理想情况下,我将拥有像 get_api() 这样的函数,它会检查现有对象是否仍然正常并返回它或根据需要创建一个新对象。
【问题讨论】:
-
为什么不将这两个对象存储到pickle 文件中?
-
@Paco 有趣的想法。这看起来很奇怪,但我无法想象为什么它不起作用,尽管我以前从未使用过泡菜。