激活后自动登录使用设置密码

时间:2013-03-31 12:23:16

标签: django django-users

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

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

我已经到了这一点,他们已经登录了。现在他们需要设置一个密码,看来他们需要知道他们的旧密码才能做到这一点。

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

从哪里开始呢?

1 个答案:

答案 0 :(得分:1)

Userena doesn't have an invite功能,您必须override views才能更改密码设置的行为。我创建了一个应用程序来扩展userena,我在项目urls.py中覆盖了userena的激活视图。

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

我的自定义视图“create_userpass”是一个表单,用户在成功激活帐户之前更改密码和用户名(没有必要的先前知识)。

我还使用自定义邀请表单,其中只包含一个EmailField,其中自动生成临时用户名和密码(任何人都看不到),这些用户名和密码在激活期间由新用户替换。邀请表单的保存方法最后会创建新的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上并在此处分享链接。

相关问题