设为首页 加入收藏

TOP

Django用户认证系统(一)User对象(一)
2019-02-12 16:07:57 】 浏览:91
Tags:Django 用户 认证 系统 User 对象

原文:https://www.cnblogs.com/linxiyue/p/4060213.html

User对象

User对象是认证系统的核心。用户对象通常用来代表网站的用户,并支持例如访问控制、注册用户、关联创建者和内容等。在Django认证框架中只有一个用户类,例如超级用户('superusers’)或('staff')用户只不过是相同用户对象设置了不同属性而已。

缺省字段Fields

username

用户名,必需字段。30个字符或更少,可以包含 _, @, +, . 和 - 字符。

first_name
可选。 30 characters or fewer.

last_name
可选。 30 characters or fewer.

email
邮箱,可选。 Email address.

password
密码,必需。Django不是以明文存储密码的,而是存储哈希值。

groups
用户组。Many-to-many relationship to Group

user_permissions
用户权限。Many-to-many relationship to Permission

1
2
3
4
5
6
7
8
9
groups  =  models.ManyToManyField(Group, verbose_name = _( 'groups' ),
     blank = True , help_text = _( 'The groups this user belongs to. A user will '
                             'get all permissions granted to each of '
                             'their groups.' ),
     related_name = "user_set" , related_query_name = "user" )
user_permissions  =  models.ManyToManyField(Permission,
     verbose_name = _( 'user permissions' ), blank = True ,
     help_text = _( 'Specific permissions for this user.' ),
     related_name = "user_set" , related_query_name = "user" )

is_staff
Boolean。决定用户是否可以访问admin管理界面。默认False。

is_active
Boolean。 用户是否活跃,默认True。一般不删除用户,而是将用户的is_active设为False。

is_superuser
Boolean。默认False。当设为True时,用户获得全部权限。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
def  has_perm( self , perm, obj = None ):
     """
     Returns True if the user has the specified permission. This method
     queries all available auth backends, but returns immediately if any
     backend returns True. Thus, a user who has permission from a single
     auth backend is assumed to have permission in general. If an object is
     provided, permissions for this specific object are checked.
     """
 
     # Active superusers have all permissions.
     if  self .is_active  and  self .is_superuser:
         return  True
 
     # Otherwise we need to check the backends.
     return  _user_has_perm( self , perm, obj)

last_login

上一次的登录时间,为datetime对象,默认为当时的时间。

1
user.last_login  =  timezone.now()

date_joined
用户创建的时间

方法Methods

is_anonymous()

是否是匿名用户。

is_authenticated()
用户是否通过验证,登陆。

get_full_name()
返回first_name plus the last_name, with a space in between.

get_short_name()
返回first_name.

se

首页 上一页 1 2 下一页 尾页 1/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇asyncio之Coroutines,Tasks and F.. 下一篇TensorFlow数据集(二)——数据..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目