3

我正在使用 Django-allauth 进行社交和简单的登录。我希望当尚未注册或未登录的用户列出项目候选名单时,当用户注册或登录时,候选名单仍然存在。所以我使用的是 Django-lazysignup。

现在,每次我没有使用 Facebook 登录时都会创建一个新的lazy_user,或者它给我一个“列 user_id 不是唯一的”错误。候选名单也没有转换。

我们如何将两者结合起来?或者我们如何在不使用lazysignup的情况下做到这一点?

对此的任何帮助都会很棒,谢谢!

4

2 回答 2

2

看看这里:

https://github.com/pennersr/django-allauth/blob/327f5b60f31e9b3db18d461266084a44f04888dc/allauth/account/adapter.py#L117

和这里:

https://github.com/pennersr/django-allauth/blob/327f5b60f31e9b3db18d461266084a44f04888dc/allauth/socialaccount/adapter.py#L40

在这里,分别为本地用户和社交用户创建了一个新User实例。这些适配器方法可以被覆盖,而不是产生一个新实例,它们可以被更改为返回一个现有的惰性用户实例。

开箱即用django-allauth,您可能会遇到无法访问request此处实例的问题,但我愿意适应allauth您的用例...

于 2013-04-02T21:17:56.863 回答
1

您可以使用以某种方式调整的自定义用户模型(Django 1.5),例如,它使用会话密钥作为标识符。稍后注册..只需填写用户名和/或电子邮件等。

如果您想保存懒惰的用户交互,即使他们没有注册(例如用于统计用途),这可能是有意义的。我没有测试过这个..但它可能会起作用。:)

于 2013-07-29T21:33:20.017 回答