超级简单的基于django电子邮件的用户注册系统?

时间:2011-09-20 06:15:12

标签: python django registration

我找到了django-registration应用程序,但它似乎很复杂,我正在尝试做什么。我希望用户只需输入他们的电子邮件(用户名)+密码并自动注册。没有激活或确认。黑客新闻风格。有谁知道实现这个最简单的方法是什么?是否存在你知道的东西(我找不到任何东西),我应该以某种方式修改django-registration,还是自己构建它?

2 个答案:

答案 0 :(得分:3)

<强>登录/验证

要使用电子邮件/密码而不是用户名/密码对Django进行身份验证,您需要添加到settings.py:

AUTHENTICATION_BACKENDS = ('myproject.myauthenticationbackend')

此身份验证后端需要能够根据电子邮件/密码对用户进行身份验证。可以在此处找到一个好的电子邮件身份验证后端:http://djangosnippets.org/snippets/74/

用户注册

通常,您的注册表会询问用户是否有电子邮件和密码。但是,Django的auth User模型要求每个用户都有一个用户名。处理添加用户名的一种方法是 - 在保存注册模型形式后,生成一个随机用户名(因为我们还没有使用它)。

您需要手动检查用户输入的电子邮件是否已在系统中注册。

我还写了一篇关于它的博客文章,并且有关于电子邮件身份验证的更完整的说明。它还包括一个示例电子邮件/密码注册表:

http://www.xairon.net/2011/05/django-email-only-authentication/

答案 1 :(得分:2)

我不知道任何应用程序正在这样做,但它似乎很简单。在这种情况下,我认为没有必要修改和使用django-registration。

创建一个表单,询问电子邮件和密码,然后创建相应的用户。用户名可以从电子邮件地址的slug中生成。

请查看以下代码段以允许使用电子邮件地址进行身份验证。 http://djangosnippets.org/snippets/74/