在Django中实例化共享线程对象的位置,金字塔注册表的等价物?

时间:2013-11-05 17:21:59

标签: python django sqlalchemy pyramid wsgi

我正在将一些与框架无关的代码插入Django而不是Pyramid。它使用SQLAlchemy并具有用于获取数据库会话的自定义会话工厂对象。在金字塔中,我在主应用程序方法的服务器启动时实例化它并将其附加到注册表,以便我的应用程序的所有其他部分都可以获取它。我想知道在Django中实例化和提供共享工厂的“正确”方法是什么。有什么地方可以放置类似的东西,以便Django用户可以轻松找到它并且代码对于习惯Django模式的人来说是可读的吗?

感谢

1 个答案:

答案 0 :(得分:0)

我将SQLAlchemy / SQLSoup连接放在models.py,因为它与持久性(以及Model-View-Whatever的“模型”层)有关。

如果您没有使用依赖于django.contrib.admindjango.contrib.auth之类的应用程序的应用程序,您甚至可以用SQLAlchemy替换Django ORM。