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