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','[email protected]','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抽象模型

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

你可能感兴趣的:(django后端,django,python,后端)