我希望用户能够在不使用第三方的情况下注册,如果他们愿意的话 . 很少有网站需要用户名登录,所以我想使用电子邮件而不是用户名 .

django-rest-framework-social-oauth2结合python-social-authdjango-oauth-toolkit .

python-social-auth包含一个EmailAuth后端,应该让用户注册一个电子邮件和密码 . 但是,我没有遗留下来,这听起来有些可怕 .

事实上,我不知道如何创建帐户,包括来自第三方,有关Django用户模型的工作,因为它需要用户名 .

使用EmailAuth我会失去什么?这是去这里的理想方式,还是有替代方案?

由于我不明白的原因,Django在没有自定义用户模型的情况下仍然不支持电子邮件而不支持用户名,因此无论我需要使用定制的或开源的基于电子邮件的帐户 .

编辑:python-social-auth只用 username = email.split('@', 1)[0] 填充用户名字段,如here所示 . 我想我可能需要制作一个自定义的Django用户模型并指向它的python-social-auth,但是我不确定是否仍然应该通过EmailAuth或独立于python-social-auth使用它 .