我想抓住它们并将有用的消息返回给用户。文档https://docs.djangoproject.com/en/1.4/topics/auth/表示在给定无效用户名时会引发ValueError。当用户名已存在时,还存在IntegrityError。这些都是吗?
这是通常的做法吗?
答案 0 :(得分:7)
如果您不使用Django Auth Forms,则必须手动进行验证。简单的方法是当用户提交自定义表单时,您应该检查:
User.objects.filter(username=username).exists()
User.objects.filter(email=email).exists()
仅供参考:已有一些Django Auth软件包,例如: django-allauth,django-userena以及更多可以很好地处理所有东西的东西,而不是自己重新发明轮子。
答案 1 :(得分:0)
您可以随时轻松查看源代码,因为他们已移至Github或在您计算机上的Python site-packages
目录中找到它。
只需转到django/contrib/auth/
并分析一些代码。