【问题标题】:How do we use Django-allauth with lazysignup我们如何使用 Django-allauth 和lazysignup
【发布时间】:2013-03-24 02:22:50
【问题描述】:

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

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

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

在这方面的任何帮助都会很棒,谢谢!

【问题讨论】:

    标签: django-sessions django-allauth lazy-registration


    【解决方案1】:

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

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

    【讨论】:

      【解决方案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 以匹配您的用例...

      【讨论】:

      • 感谢您的回复!但是对于如何覆盖适配器方法并将其与惰性注册集成,我仍然有些困惑。你知道任何可行的例子吗?或者你能给我简要介绍一下吗?
      猜你喜欢
      • 2014-02-06
      • 2015-09-24
      • 2015-03-25
      • 2012-06-19
      • 1970-01-01
      • 1970-01-01
      • 2022-11-02
      • 1970-01-01
      • 2016-01-29
      相关资源
      最近更新 更多