如何更改默认的Django用户模型以适应我的需求?

如何更改默认的Django用户模型以适应我的需求?,第1张

如何更改默认的Django用户模型以适应我的需求?

除了直接修改User类或进行子类化外,您还可以重新利用现有字段的用途。

对于一个站点,我使用“ first_name”字段作为用户的“公开显示的名称”,并将其简化版本填充到“
username”字段(用于URL)中。我编写了一个自定义的auth后端,以使人们可以使用其“公用名”或电子邮件地址登录,并且我在注册时都强制要求两者都具有唯一性。这与其他可重复使用的应用程序很好地配合,并且不会引入额外的表或查询。

对于另一个站点,我根本不需要用户名,只需要唯一的电子邮件即可。为了满足Django对唯一用户名的需求,我只是对电子邮件地址进行了哈希处理,并将其用作用户名(您必须对哈希进行base64编码,以将其压缩为30个字符以下)。自定义身份验证后端,允许通过电子邮件登录。

如果向后兼容性不是问题,我希望对django.contrib.auth和User模型进行很多改进,以使其更加灵活。但是,在当前的限制条件下,您可以做很多事情,但需要一点点创意。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5674961.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存