是否可以使用allauth创建只有电子邮件作为用户名,而没有其他详细信息(如密码)的用户帐户?目的是使注册过程尽可能简单。在注册时可以跳过密码并在电子邮件确认后更新密码吗?我已在Python shell (./manage.py shell
)中尝试了此场景,并获得了成功的输出。
In [1]: from django.contrib.auth.models import User
In [2]: User.objects.create(username='nopass')
Out[2]: <User: nopass>
In [3]: User.objects.all()
Out[3]: [<User: userone>, <User: nopass>]
In [4]: usr=User.objects.all()[1]
In [5]: usr.set_password('pwdnotset')
In [6]: usr.save()
In [7]: from django.contrib.auth import authenticate
In [8]: authenticate(username='nopass',password='pwdnotset')
Out[8]: <User: nopass>
我参考了这个链接,发现当时allauth没有此设置。不过,这个回复是在2013年发布的。如果能够设计出一种可以在注册时使用一些allauth配置而无需密码创建用户的方法将会很有帮助。提前感谢。