django-auth模块

一、功能介绍

用户模型

        用户认证,登录,退出等

后台管理

        用户管理,权限分配

命令行工具

        创建用户,设置密码等

二、安装及配置

第一步、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抽象模型

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

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值