原因

使用局部钩子函数 _clean_fields() 对 username、email 字段进行验证时,未返回,具体请参考 _clean_fields() 函数源码。

def clean_username(self):
"""
验证用户名是否被注册
:return:
"""
username = self.cleaned_data.get('username')
user_obj = UserInfo.objects.filter(username=username).count()
if user_obj:
raise ValidationError('用户名已存在')

解决

局部钩子函数一定要记得带上返回值,全局钩子函数也是一样:

def clean_username(self):
"""
验证用户名是否被注册
:return:
"""
username = self.cleaned_data.get('username')
user_obj = UserInfo.objects.filter(username=username).count()
if user_obj:
raise ValidationError('用户名已存在'
return username

最新文章

  1. [LeetCode] First Unique Character in a String 字符串第一个不同字符
  2. ionic中关于ionicView 的生命周期
  3. ubuntu中 不同JDK版本之间的切换
  4. 关于silverlight5 打印功能收集
  5. Laravel如何优雅的使用Swoole
  6. Android判断当前系统时间是否在指定时间的范围内(免消息打扰)
  7. JSP页面以及简单的指令
  8. POJ 2249 Binomial Showdown
  9. 表格对象QTableWidget相关常见方法
  10. kmp算法简明教程
  11. [字符串] AppMessage--字符串返回帮助类 (转载)
  12. cf A. Jeff and Digits
  13. centos6.4下没有heartbeat包解决办法
  14. 宣布 Windows Azure 通过 PCI DSS 合规性验证并且 ISO 认证范围扩大,同时正式发布 Windows Azure Hyper-V 恢复管理器和其他更新功能
  15. 【翻译自mos文章】当指定asm disk 为FRA时,11.2.0.3的dbua hang住
  16. 暑假练习赛 003 F Mishka and trip
  17. 学习Xen
  18. 常用 ADB 命令[ZZ]
  19. Java编程思想 学习笔记2
  20. 最小生成树<lct>

热门文章

  1. 九度OJ 1176:树查找 (完全二叉树)
  2. 微信小程序 原生代码 转wepy 字符串处理
  3. LigerUI java SSH小例子
  4. Python爬虫--Urllib库
  5. php 文件头部(header)
  6. C++中输出 位宽和小数点后位数 的控制
  7. 如何解决GBK的编码的文件中的中文转换成为UTF-8编码的文件而且不乱码
  8. 【MFC】动态创建CMFCToolbar图标不显示问题
  9. bjwc Day1 暴力大战
  10. BZOJ4088: [Sdoi2015]立体图