django-auth模块

本文围绕Django展开,介绍了其用户模型、认证、登录等功能。详细说明了安装及配置步骤,包括应用安装、中间件配置等。还阐述了用户管理,如创建普通用户、超级管理员及密码管理。最后介绍了扩展用户模型的两种方式,如替换现有用户模型的具体步骤。

一、功能介绍

用户模型

        用户认证,登录,退出等

后台管理

        用户管理,权限分配

命令行工具

        创建用户,设置密码等

二、安装及配置

第一步、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

五、扩展用户模型

对用户进行扩展(两种方式)

  1. 使用OneToOneField对用户进行扩展
  2. 替换现有的用户模型

5.1 替换现有的用户模型

步骤一:配置用户模型,告诉django框架

AUTH_USER_MODEL = 'accounts.User'

步骤二:继承AbstractUser抽象模型

步骤三:添加字段,同步模型到数据库

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值