Pinax注册和帐户

时间:2009-08-09 14:18:53

标签: django registration pinax

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

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

我在两种竞争方法之间徘徊。

1)在请求时创建User和Profile对象。但在某种程度上将它们标记为“待定”,直到获得批准。

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

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

所以,有经验的Django / Pinax开发人员。其中哪一种更具“讽刺”的方式呢?

2 个答案:

答案 0 :(得分:2)

(1)有两种变体:(a)你只需要依赖User上的活动标志; (b)你在你的个人资料上进行非规范化并有一个类似的标志,以避免加入。

方法(1)的主要挑战是,您必须确保在检索配置文件时,根据此标志过滤它们。当然,对于像Account这样只有登录用户看到的东西,这不是问题。但对于Profile而言可能会有点痛苦。

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

底线是我不认为有一种明显的“伎俩”方式,尽管个人我倾向于(2)。

答案 1 :(得分:0)

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

最近他们似乎更多地编写代码并减少文档,因为他们正在努力获得稳定的版本,因此这些文档不是最新的。

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

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