4

有谁知道有关 Pinax 注册和“帐户”的文档的良好链接。我正在尝试研究如何在 Django / Pinax 中实现我们的注册过程,并尝试在 Django 的 User 和 Profile 类以及 Pinax 中的 Account 类之间导航。

对我们来说主要问题是我们有一个注册表单,其中有几个额外的问题,在申请帐户时必须回答这些问题。然后,在启用帐户之前,管理员需要接受会员资格。此时,这些额外问题的答案将存储在用户的个人资料中。

我在两种竞争方法之间左右为难。

1) 在请求时创建 User 和 Profile 对象。但是以某种方式将它们标记为“待处理”,直到获得批准。

2)创建某种替代模型类来临时存储这些值,直到获得批准。此时,我创建了 User 和 Profile 对象并将信息复制到其中。

我试图从 Pinax 注册代码中推断出这些方法中哪种方法最符合 Pinax 的“纹理”,但目前尚不清楚。

所以,经验丰富的 Django/Pinax 开发人员。以下哪一种是更“别致”的处理方式?

4

2 回答 2

2

(1) 有两种变体: (a) 您只依赖于 User 上的 active 标志;(b) 你去规范化并在你的个人资料上有一个类似的标志以避免加入。

方法 (1) 的主要挑战是,您必须确保在任何时候检索配置文件时,都根据此标志过滤它们。当然,对于只有登录用户才能看到的帐户之类的东西,这不是问题。但是对于 Profile 来说,这可能有点痛苦。

(2) 没有这个问题。在这种情况下,您可以通过使用临时配置文件和主配置文件模型共享的抽象基本模型来避免一些冗余。

底线是我认为没有明显的“pinactic”方式来做到这一点,尽管我个人倾向于(2)。

于 2009-08-09T22:52:37.663 回答
0

大多数文档都在此处: http: //pinaxproject.com/docs/dev/或此处:http ://code.pinaxproject.com/wiki/或代码库中。

最近似乎他们一直在更多地处理代码和更少的文档,因为他们正在开发一个稳定的版本,所以这些文档不是最新的。

也就是说,Pinax 已经有一种机制可以延迟激活帐户,直到他们验证了他们的电子邮件地址(方法 #1)。相关设置是:ACCOUNT_REQUIRED_EMAIL 和 ACCOUNT_EMAIL_VERIFICATION,因此对代码库的搜索应该会显示它们的使用方式/位置(您可以扩展以用于您的额外问题)。

我相信他们通过给每个用户一个“活动”标志(在管理员中检查用户对象)来实现这一点,在他们验证他们的电子邮件地址之前,该标志不会设置为 True。我依稀记得有一次手动设置,但仍然无法使用该特定用户登录,因此您需要对其进行测试。

于 2009-08-09T22:49:51.257 回答