Django的标准库存放在 django.contrib 包中。每个子包都是一个独立的附加功能包。
这些子包一般是互相独立的,不过有些django.contrib子包需要依赖其他子包,其中django.contrib.auth 为Django的用户验证框架
Django内置了用户认证系统,处理用户账号,用户组,权限,基于cookie的session,并且内置了一些快捷函数
官方网址 https://docs.djangoproject.com/en/1.11/topics/auth/
auth本质内置app,需要条件,Django默认已配置
INSTALLED_APPS 'django.contrib.auth' 'django.contrib.contenttypes' MIDDLEWARE 'django.contrib.sessions.middleware.SessionMiddleware' 'django.contrib.auth.middleware.AuthenticationMiddleware'
| User objects |
核心,必须了解,为以后定制做准备
fields
-
username
-
password
-
email
-
first_name
-
last_name
-
groups
-
user_permissions
-
is_staff
-
is_active
-
is_superuser
-
last_login # 最后登录时间
-
date_joined # 账号添加时间
attr
-
is_authenticated
-
is_anonymous
-
username_validator # 用户名校验
method
-
get_username()
-
get_full_name()
-
get_short_name()
-
set_password() # 加密处理,保持算法一致
-
check_password() # 验证密码,和set_password() 算法一致
-
set_unusable_password()
-
has_unusable_password()
-
get_group_permissions()
-
get_all_permissions()
-
has_perm()
-
has_module_perms()
-
email_user()
源码分析
class User(AbstractUser): # username, password and email 是必填项. 其他字段是可选的. class Meta(AbstractUser.Meta): swappable = 'AUTH_USER_MODEL'