Django-Allauth 连接Facebook但强制更改用户名
我正在使用Django-Allauth在我的网站上成功用Facebook账号登录。问题是,当我使用默认的注册视图时,存储在数据库里的用户名是Facebook社交登录返回的用户名,类似这样:
<firstname>.<lastname>.<integer>
我已经找到了如何在之后将我的Facebook账号与一个已经创建的普通用户账号(不是社交账号)连接的方法,使用的视图在这里:
/accounts/social/connections/
还有如何更改邮箱的方法:
/accounts/email/
有人能告诉我怎么做才能让用户在用Facebook登录我的网站时选择一个非Facebook的用户名,而不需要先创建一个普通用户吗?
谢谢!
============ 编辑 =======================
我在settings.py中添加了这个设置后,会提示输入用户名和密码来关联Facebook登录,但并没有提示输入密码:
SOCIALACCOUNT_AUTO_SIGNUP = False
我还需要弄清楚在这种情况下如何提示输入密码。
1 个回答
0
这个解决办法是:让社交账号注册表单继承自SignupForm。
class SignupForm(SignupForm):