User model
Fields
class models.User
User objects have the following fields:
is_staff:
布尔值,指定此用户是否可以访问后台管理站点。
is_active:
布尔值。 指定该用户帐户是否应被视为活动的。 我们建议您将此标志设置为False而不是删除帐户; 这样,如果您的应用程序对用户有任何外键,则外键不会中断。
这不一定控制用户是否可以登录。不需要验证后端来检查is_active
标志,而是默认后端(ModelBackend)
和RemoteUserBackend
。 如果要允许非活动用户登录,可以使用AllowAllUsersModelBackend
或AllowAllUsersRemoteUserBackend
。 在这种情况下,您还需要自定义LoginView
使用的AuthenticationForm
,因为它拒绝非活动用户。 请注意,诸如has_perm()
和Django admin
中的身份验证等权限检查方法对于非活动用户都返回False
。
在Django更改1.10:
在旧版本中,ModelBackend和RemoteUserBackend允许非活动用户进行身份验证。
Attributes
class models.User
is_authenticated:
只读属性始终为True
(与AnonymousUser.is_authenticated
相反,该属性始终为False
)。 这是一种告诉用户是否已通过身份验证的方式。 这并不表示任何权限,也不会检查用户是否处于活动状态或是否有有效的会话。 即使正常情况下,您将在request.user
上检查此属性,以确定是否已由AuthenticationMiddleware
(表示当前登录的用户)填充,您应该知道任何User
实例的此属性为True
。