一、功能介绍
用户模型
? ? ? ? 用户认证,登录,退出等
后台管理
? ? ? ? 用户管理,权限分配
命令行工具
? ? ? ? 创建用户,设置密码等
二、安装及配置
第一步、INSTALLED _APPS安装应用
'django.contrib.auth'
'django.contrib.contenttypes'
第二步、MIDDLEWARE中间配置
SessionMiddleware
AuthenticationMiddleware
第三步:migrare同步模型到数据库
创建Django项目时已自动配置
三、用户模型
常用属性
属性 | 描述 | username | 用户名 | password | 登录密码 | email | 电子邮箱 | is_staff | 是否为内部员工 | is_active | 是否为激活员工 | is_superuser | 是否为超级管理员 |
四、用户管理
4.1 创建普通用户
user = User.objects.create_user('john','test@example.com','johnpassword')
4.2 使用命令行创建超级管理员
python manage.py createsuperuser
4.3 密码管理
重置用户密码
from django.contrib.auth.models import User
u = User.objects.get(username="john")
u.set_password('new password')
u.save()
检测用户的密码是否正确
u = User.objects.get(username="john")
u.check_password('my password')
验证用户名和密码是否匹配
user = authenticate(username,password)
从视图中获取当前用户
request.user
需要登录才可访问的视图
@login_required
def my_view(request):
pass
判断用户是否具有某权限
request.user.has_perm('foo.add_bar')
强制权限验证
@permission_required('foo.add_bar')
def my_view(request):
pass
五、扩展用户模型
对用户进行扩展(两种方式)
- 使用OneToOneField对用户进行扩展
- 替换现有的用户模型
5.1 替换现有的用户模型
步骤一:配置用户模型,告诉django框架
AUTH_USER_MODEL = 'accounts.User'
步骤二:继承AbstractUser抽象模型
步骤三:添加字段,同步模型到数据库
|