我已经创建了一个定制函数来在继承DefaultSocialAcCountAdapter的类中创建定制用户名.代码如下所示.

def _build_username(self,data):

        from allauth.utils import generate_unique_username

        if(not data.get('username')):

            first_name=data.get('first_name','').lower()

            last_name=data.get('last_name','').lower()

            suggested_username = (f"{first_name}{last_name}",)

            username = generate_unique_username(suggested_username)

            return username

        

但它抛出了更低的值()没有被调用

我试图将名称转换为小写,因为这是我们的数据库支持用户名的方式.当我try 执行Google登录身份验证方法时,会出现这种情况.

推荐答案

这是因为,数据可以包含First_NAME或LAST_NAME键,但其值可以为NONE.因此您可以添加条件判断以确保其不是无

def _build_username(self,data):
    from allauth.utils import generate_unique_username
    if(not data.get('username')):
        first_name=data.get('first_name','')
        last_name=data.get('last_name','')
        l=[]
        if(first_name):
            l.append(first_name.lower().strip())
        else:
            l.append('')
        if(last_name):
            l.append(last_name.lower().strip())
        else:
            l.append('')
        suggested_username = (f"{l[0]}{l[1]}",)
        username = generate_unique_username(suggested_username)
        return username

Django相关问答推荐

Django-将html数据保存到quillfield中

Htmx如何从事件中访问数据?

为什么Docker compose没有这样的文件或目录?

如何在Django中显示多个相关对象

无法在views.py django中验证密码

Django基于查询集动态筛选字段名称

Django ImproperlyConfigured: AUTH_USER_MODEL指向尚未安装的模型'users.User'

所有子元素的Django自递归外键过滤器查询

django 管理员登录突然要求 csrf 令牌

可插拔应用程序的Django默认设置约定?

如何使用 select_for_update 在 Django 中获取查询?

CherryPy 与 Django

如何验证对象是否存在于多线程中

使用 Python / Django 的 Google API 示例的 Oauth

Django post_save 在不覆盖模型 save() 的情况下防止递归

刷新时重新提交的django表单

Django unique_together 与可为空的 ForeignKey

如何在 django 中将多张图片上传到博客文章

将属性添加到 Django 模型的 Meta 类中

Django 多项 Select 字段/复选框 Select 多个