我刚刚使用 django 1.5 将 Django-Social-Auth (DSA) v0.7.23 与自定义用户模型集成,并且身份验证/登录工作正常,除了用户名字段未存储在我的自定义用户模型中。
单步执行 DSA 代码似乎明确删除了 facebook 传回的用户名。这是弹出用户名的相关函数:
@classmethod
def username_field(cls, values):
user_model = cls.user_model()
if hasattr(user_model, 'USERNAME_FIELD'):
# Django 1.5 custom user model, 'username' is just for internal
# use, doesn't imply that the model should have an username field
values[user_model.USERNAME_FIELD] = values.pop('username') # Username removed
return values
如何获取从 facebook 传回的用户名,而不是让 DSA 明确删除它?
我相信解决方法是创建一个生成用户名的自定义管道。但是我想知道是否有其他人之前遇到过这种情况并利用了 DSA 中已经存在的任何东西(即特定的 settings.py 配置)
谢谢。