【问题标题】:How save email equals username Allauth Social Media Account Django如何保存电子邮件等于用户名 Allauth 社交媒体帐户 Django
【发布时间】:2015-12-10 20:36:01
【问题描述】:

我设法设置 allauth 来处理我的项目并使用社交媒体登录。但是我想知道他们是否可以选择将获取 Facebook 的电子邮件设置为用户名。我阅读了他们的文档,但在变量中看不到任何内容。

我找到了this link,但他们更改了 Django 的核心文件。我希望能找到更合适的东西。

我目前的配置:

ACCOUNT_USER_MODEL_EMAIL_FIELD = 'email'
ACCOUNT_USER_MODEL_USERNAME_FIELD = 'email'
SOCIALACCOUNT_QUERY_EMAIL = True
SOCIALACCOUNT_EMAIL_REQUIRED = True

另外,是否可以仅使用 Allauth 的社交媒体登录/创建创建?如果您访问 localhost/accounts/create/ (或类似的 url),我可以看到可以创建一个帐户。我不需要那个,因为我有自己的帐户创建页面。

【问题讨论】:

    标签: django django-allauth


    【解决方案1】:

    好吧,您不需要更改 Django 文件。只需将此添加到您的models.py

    from django.db.models.signals import pre_save
    
    @receiver(pre_save, sender=User)
    def update_username_from_email(sender, instance, **kwargs):
        instance.username = instance.email
    

    假设已经给出了一个e-mail,它会在每次有新用户被保存到数据库时将e-mail设置为用户名。

    【讨论】:

      猜你喜欢
      • 2014-11-09
      • 1970-01-01
      • 2021-01-19
      • 2017-07-21
      • 2021-12-10
      • 1970-01-01
      • 2014-08-20
      • 1970-01-01
      • 2015-10-22
      相关资源
      最近更新 更多