【发布时间】:2015-06-26 21:08:37
【问题描述】:
不知道什么时候用这个参数比较好。
djangoproject描述如下:
布尔值。指定是否应将此用户帐户视为活动帐户。我们建议您将此标志设置为 False 而不是删除帐户;这样,如果您的应用程序对用户有任何外键,则外键不会损坏。
这不一定控制用户是否可以登录。身份验证后端不需要检查 is_active 标志,默认后端不需要。如果您想基于 is_active 为 False 拒绝登录,您可以在自己的登录视图或自定义身份验证后端进行检查。但是, login() 视图(默认设置)使用的 AuthenticationForm 会执行此检查,权限检查方法(例如 has_perm() 和 Django 管理员中的身份验证)也会执行此检查。对于非活动用户,所有这些函数/方法都将返回 False。
readthedocs描述如下:
Authorization for inactive users
非活动用户是经过身份验证但其属性 is_active 设置为 False 的用户。然而,这并不意味着他们无权做任何事情。例如,他们可以激活自己的帐户。
权限系统中对匿名用户的支持允许匿名用户有权做某事而非活动的经过身份验证的用户没有权限的情况。
不要忘记在你自己的后端权限方法中测试用户的 is_active 属性。
任何人都可以举一些例子让我知道参数需要注意或如何使用它。
【问题讨论】:
标签: python django python-2.7 authentication django-models