【问题标题】:Django unique "username" when using local user authentication and "Django Social auth" application使用本地用户身份验证和“Django Social auth”应用程序时的 Django 唯一“用户名”
【发布时间】:2018-07-22 00:05:24
【问题描述】:

我正在使用 Django 本地用户注册以及一些使用 Django-social_auth webapp 的社交媒体身份验证。当我去用户表检查用户名时,在我看来 Django 可能会损害用户名的唯一性。例如,如果我有两封电子邮件“abcdef@gmail.com”和“abcdef@yahoo.com”,它将如何将这些内容存储在用户表中,因为它将“abcdef”部分存储在用户名列中。

【问题讨论】:

  • 你的代码在哪里?需要看模型。试试unique_together ?
  • 我认为您需要编写自定义管道。你试过了吗?

标签: python django django-socialauth


【解决方案1】:

python-social-auth会在检测到碰撞时尝试建立一个唯一的用户名,相关代码为here

还可以通过定义SOCIAL_AUTH_CLEAN_USERNAME_FUNCTION 来“清理”用户名。

您还可以定义更适合您项目的自定义get_username 管道函数。

【讨论】:

    猜你喜欢
    • 2017-05-23
    • 2012-10-21
    • 1970-01-01
    • 1970-01-01
    • 2017-06-05
    • 1970-01-01
    • 2012-10-31
    • 1970-01-01
    • 2016-08-04
    相关资源
    最近更新 更多