Django-allauth自定义注册表单first_name被存为元组如何解决
修复方案
错误原因
你在signup方法中给user.first_name赋值的行末尾多了一个多余的逗号,按照Python语法规则,单个值后添加逗号会被自动封装为元组类型,这就是first_name被存储为元组、而无多余逗号的last_name存储正常的根本原因。
修复步骤
找到表单文件*myapp/forms.py*中的signup方法,删除user.first_name赋值行末尾的逗号即可,修改后的代码如下:
def signup(self, request, user): user.first_name = self.cleaned_data['first_name'] user.last_name = self.cleaned_data['last_name'] user.save() return user
修改完成后重启服务,后续新注册用户的first_name就会正常存储为字符串,模板中{{user.first_name}}可正常输出内容。
内容的提问来源于stack exchange,提问作者new_progger_python
相关产品推荐
相关产品推荐

