基于 Django1.10 文档的深入学习(10)—— django.contrib.auth 之 User model

User model


Fields

class models.User

User objects have the following fields:

is_staff:
布尔值,指定此用户是否可以访问后台管理站点


is_active:
布尔值。 指定该用户帐户是否应被视为活动的。 我们建议您将此标志设置为False而不是删除帐户; 这样,如果您的应用程序对用户有任何外键,则外键不会中断。

这不一定控制用户是否可以登录。不需要验证后端来检查is_active标志,而是默认后端(ModelBackend)RemoteUserBackend。 如果要允许非活动用户登录,可以使用AllowAllUsersModelBackendAllowAllUsersRemoteUserBackend。 在这种情况下,您还需要自定义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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值