我正在努力共同实现所有这些:
答:新用户可以使用或不使用 Facebook 进行注册。
B. 在注册流程中,他们都会收到一张表格,用于填写其他用户信息。
C. 新帐户默认处于非事件状态。管理员在手动激活(或删除)帐户时将需要额外的用户信息。
<小时/>我使用 django-allauth 社交帐户获得了 A 成绩。
通过向 django.db.models.signals.pre_save
添加监听器,我实现了 C和设置user.active = False
通过定义自定义 ACCOUNT_SIGNUP_FORM_CLASS
,我部分实现了 B在设置.py中。然而,据我所知,这仅适用于本地“非社交”帐户,因为社交登录似乎会跳过此表单。
我的问题是当有人使用 allauth 社交帐户注册时,他们没有机会提供其他信息,因为他们的帐户将在不首先显示我的自定义注册表单的情况下创建。
此外,由于所有新帐户都会自动保存为非事件帐户,并且管理员需要附加信息才能激活它们,因此我不能简单地将该表单添加到“首次登录流程”中(注意:无法登录到非事件帐户)。
我想解决这个问题的一种方法是不自动将帐户保存为非事件状态,而是使用权限,但如果可以避免的话,我宁愿不重写所有 View 等。
如有任何意见,我们将不胜感激!谢谢!
最佳答案
将此选项添加到您的 settings.py
文件中:
SOCIALACCOUNT_AUTO_SIGNUP = False
关于python - 如何在 django-allauth 社交帐户注册流程中显示自定义表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58071733/