我正在Django1.7中编写一个自定义身份验证后端,它可能会因为以下两个原因之一而失败:无效的凭据或某种内部错误,例如数据库问题。根据失败情况,我想向用户提供不同的错误消息。IE“用户名或密码不正确”表示无效凭据,如“发生错误,请重试或与支持部门联系”。你知道吗
既然authenticate()
需要返回一个用户模型,我不能只返回错误,所以我想知道的是:将错误冒泡到名为authenticate()
的视图的最佳方法是什么?你知道吗
我倾向于使用适当的错误消息从authenticate()
抛出一个异常,然后在视图中捕获该异常。我认为这是最好的处理方法,但是我离Django专家还很远,所以我很想听听社区的想法。你知道吗
抛出异常是我在这里的最佳选择,还是有更好的方法将身份验证失败从authenticate()
冒泡到视图中?如果抛出一个异常是我的最佳选择,那么是否有一个预定义的Django异常适合这个法案,或者我应该自己创建一个?你知道吗
在custom method First with
try except
中,您可以捕获db错误在自定义方法中,用户对象将具有
check_password
方法然后使用
check_password
方法您将得到密码错误最后,我在视图中使用try/except块,其中包含表示相关失败的自定义错误。你知道吗
相关问题 更多 >
编程相关推荐