0

我的用户将能够为他们的客户创建用户,这将向他们发送一封激活电子邮件。

使用 userena,即使没有设置密码,激活链接也会自动登录。

我已经到了他们登录的地方。现在他们需要设置密码,而且似乎他们需要知道他们的旧密码才能做到这一点。

我希望客户端用户在激活过程中被提示设置密码。

从哪里开始最好的地方?

4

1 回答 1

1

Userena没有邀请功能,您必须覆盖视图才能更改密码设置的行为。我创建了一个应用程序来扩展 userena,我在我的项目 urls.py 中覆盖了 userena 的激活视图。

    url(r'^accounts/activate/(?P<activation_key>\w+)/$', create_userpass),

其中我的自定义视图“create_userpass”是用户在成功激活帐户之前更改密码和用户名(无需事先了解任何一个)的表单。

我还使用了一个仅包含一个 EmailField 的自定义邀请表单,其中会自动生成一个临时用户名和密码(任何人都看不到),这些用户名和密码在激活期间被新用户替换。邀请表单的 save 方法最后有这个,它创建了新的 userena 用户。

        new_user = UserenaSignup.objects.create_user(username,
                                                 email,
                                                 password,
                                                 not userena_settings.USERENA_ACTIVATION_REQUIRED,
                                                 userena_settings.USERENA_ACTIVATION_REQUIRED)
    return new_user

我会尽快将应用程序放在 github 上并在此处分享链接。

于 2013-05-19T13:58:42.173 回答