【发布时间】:2012-12-30 13:13:58
【问题描述】:
我想抓住它们并向用户返回有用的消息。文档https://docs.djangoproject.com/en/1.4/topics/auth/ 说 ValueError 在给出无效用户名时引发。当用户名已经存在时,还有 IntegrityError。都是这些吗?
这是通常的做法吗?
【问题讨论】:
我想抓住它们并向用户返回有用的消息。文档https://docs.djangoproject.com/en/1.4/topics/auth/ 说 ValueError 在给出无效用户名时引发。当用户名已经存在时,还有 IntegrityError。都是这些吗?
这是通常的做法吗?
【问题讨论】:
如果您没有使用 Django Auth Forms,那么您必须手动进行验证。简单的方法是当用户提交您应该检查的自定义表单时:
User.objects.filter(username=username).exists()
User.objects.filter(email=email).exists()
仅供参考:已经有一些 Django Auth 包,例如django-allauth、django-userena 等等,它们可以很好地处理所有事情,而不是自己重新发明轮子。
【讨论】:
您可以随时轻松查看源代码,因为它们已移至 Github 或在您机器上的 Python site-packages 目录中找到。
只需转到django/contrib/auth/ 并分析一些代码。
【讨论】: