django social auth django注册和django配置文件——一起

django social auth django注册和django配置文件——一起,django,django-registration,django-socialauth,Django,Django Registration,Django Socialauth,有人用过,一起用过。他们合作得好吗?我已经建立了社会权威,但我读到了更好的地方。我应该换成那个吗 请告知 更新: 我在我的项目中使用了allauth,效果很好。您不需要对allauth使用django注册,因为它集成在中。不过,我使用的是自定义用户配置文件,这比django配置文件更好,它们一起工作很好-我前几天刚设置好(除了我不需要使用django配置文件,因为创建自己的配置文件很容易) 用户可以使用django注册设置一个普通帐户(contrib.auth),该注册会发送一封待确认的电子邮

有人用过,一起用过。他们合作得好吗?我已经建立了社会权威,但我读到了更好的地方。我应该换成那个吗

请告知

更新:


我在我的项目中使用了
allauth
,效果很好。您不需要对allauth使用
django注册
,因为它集成在中。不过,我使用的是自定义用户配置文件,这比
django配置文件

更好,它们一起工作很好-我前几天刚设置好(除了我不需要使用django配置文件,因为创建自己的配置文件很容易)

  • 用户可以使用django注册设置一个普通帐户(contrib.auth),该注册会发送一封待确认的电子邮件-在数据库中创建用户名/电子邮件/密码
  • 或者,他们可以直接使用twitter/facebook/google等登录,然后自动为他们创建一个contrib.auth用户,并使用一个虚拟密码(可能没有电子邮件)
一些要点和局限性:

  • 使用社交媒体配置文件登录时,会自动创建contrib.auth.user。如果用户名已经存在,将附加UUID-这很难看,django social auth似乎还没有解决这个问题-一个简单的解决方案是允许用户在注册后更改用户名。理想情况下,当您使用twitter登录时,您有机会在将详细信息保存到数据库之前(而不是之后)对其进行优化
  • 类似地,设置了一个伪密码-这使得用户很难使用内置的django密码更改表单重置密码,因为他们将无法输入现有密码(因为它被设置为不可刷新的字符串)
  • <> LI>当Twitter注册的用户想稍后将他们的脸谱网账号-<强> Django社交AuthAcess关联起来,并且很容易将多个第三方登录名合并为一个帐户 时,你需要考虑推特。
  • Twitter不会透露用户的电子邮件地址,因此您可能希望提示他们向您提供电子邮件地址并将其保存到数据库中-问题是,您需要验证它,这否定了使用social auth的全部目的
django social auth是一个伟大的项目,目前正在与Convere上的一个组一起积极开发,该组始终是最新的,所以我当然会建议它。设置起来也很容易-只需确保您已经完成了登录流程,并且您知道使用此功能的潜在限制

编辑:

这篇文章有点过时

  • django社交网站已成为
  • django allauth:OP提到了最近很流行的一款。我没有使用过它,但它似乎是身份验证、注册和配置文件的一个巨大替代品
  • 可配置的用户模型:Django 1.5在
    auth
    模块中引入了一个可配置的用户模型,因此您现在可以编辑要为用户使用的字段(仅电子邮件、无用户名等)。如果您希望向用户添加类似配置文件的信息,而不必与另一个表连接(就像使用django profiles或与自定义配置文件模型的
    OneToOne
    关系一样),这也很有用

非常感谢您详尽的回复。事实上,我会希望用户的电子邮件id稍后的时间,但第一次我希望用户立即开始。稍后,当他们访问需要他们的电子邮件的功能时,我总是可以要求他们提供一个。此外,当他们建立个人资料时,他们会填写电子邮件。我不想让他们第一次泄气第二,有什么办法可以解决密码问题吗?你说过我们可以将多个社交登录关联到同一个帐户吗?此外,由于我是Django的新手,我在模板方面遇到了一些问题,你能给我介绍一些关于如何制作模板的好教程吗。或者,一个好的社会登录和本地注册的登录表单应该是什么样的。。。。还感谢Tona social auth的作者创建了一个示例页面,您可以在此处登录并关联多个服务:。我还没有研究过密码问题,但我相信,与默认的django change_密码表单不同,使用自定义视图可以轻松解决这个问题。如果您通过我的个人资料中列出的电子邮件向我发送电子邮件,我将通过类似项目的模板向您发送感谢所有帮助。我已向您发送了一封关于您网站上所列帐户的电子邮件。谢谢,我刚刚对共同存在的django注册和django社交认证系统有了新的认识。安全问题中间件“social_auth.backends.pipeline.associate.associate_by_email”的取消是否会禁用django注册?