扩展Django用户模型的合理策略?

时间:2011-03-22 15:20:14

标签: django django-registration

这似乎应该没问题,因为我没有触及用户模型本身。

我想纯粹根据电子邮件和密码注册用户。用户模型中需要用户名。我的想法是我可以创建一个自定义的UserCreationForm来保存电子邮件地址AS用户名并验证电子邮件地址。

不幸的是,有了这个,我将不得不通过user.username来引用电子邮件地址。

这是标准吗?还有更好的方法吗?

由于

2 个答案:

答案 0 :(得分:2)

一些答案​​here

似乎最好的方法可能是编写custom auth backend(不太难)接受电子邮件地址登录,并在用户名字段中存储电子邮件的哈希值以满足所需的唯一用户名。

答案 1 :(得分:1)

  

我的想法是我可以创建一个自定义UserCreationForm来保存电子邮件地址AS用户名并验证电子邮件地址。

关闭。

使用clean方法将电子邮件地址复制到用户名。除了默认登录表单之外,这对于除了默认登录表单之外的所有内容都非常有效

需要调整默认登录表单以允许用户名为电子邮件地址。默认表单只需要字符,并拒绝标点符号。