在金字塔中,我应该如何保留用户列表并允许通过注册视图添加更多?

In Pyramid how should I keep a list of users and allow adding more with a registration view?

我有一个实现授权的应用程序,如下所述:http://michael.merickel.org/projects/pyramid_auth_demo/

在示例中,用户保存在名为 USERS = {} 的全局变量中,我在名为 config.py

的模块中拥有该变量
USERS = {}

问题是我有一个注册视图,它使用以下代码将新用户添加到 USERS:

config.USERS["newUser"] = User("newUser")

但由于 WSGI 服务器处理请求 config.USERS 在某些情况下不包含注册过程中新添加的用户。

我应该如何保持用户列表以便在注册过程中更新并通过所有其他请求以更新的方式访问?

如果您确实需要在内存中保留用户列表,您应该编写更新此列表的函数并在注册新用户时调用它。

如果我是你,我宁愿创建从数据库中获取用户的全局函数,并使用例如 Beaker Cache 将其缓存一段时间,当添加新用户时,我将使该缓存区域无效。要获得更多详细信息,请参阅 Beaker Cache 手册。