3

我想抓住它们并向用户返回有用的消息。文档https://docs.djangoproject.com/en/1.4/topics/auth/说 ValueError 在给出无效用户名时引发。当用户名已经存在时,还有 IntegrityError。这些都是吗?

这是通常的做法吗?

4

2 回答 2

7

如果您不使用 Django Auth Forms,则必须手动进行验证。简单的方法是当用户提交您应该检查的自定义表单时:

  • 如果用户名有效,则与正则表达式匹配,例如 \w+
  • 检查用户名是否已被使用,例如User.objects.filter(username=username).exists()
  • 检查电子邮件是否已用于帐户,例如User.objects.filter(email=email).exists()
  • 然后创建用户

仅供参考:已经有一些 Django Auth 包,例如django-allauthdjango-userena等等,它们可以很好地处理所有内容,而不是自己重新发明轮子。

于 2012-12-30T13:22:06.963 回答
0

自从它们移至Github或在您机器上的 Pythonsite-packages目录中找到源代码后,您始终可以轻松查看源代码。

只需去django/contrib/auth/分析一些代码。

于 2012-12-30T15:09:49.777 回答