内置User实现用户管理系统
from django.contrib.auth.models import User
from django.contrib.auth import login,logout,authenticate
扩展User模型
继承AbstrctBaseUser可以自定义额外字段,如果使用 自定义就要在setting中设置说明AUTH_USER_MODEL='xxx'
权限设置
判断用户(user)是否有某个权限:user.has_perm('项目名称.权限名称') 权限名称可以在auth_permission中的codename中查看
设置用户(user)的权限:user.user_permission.add(权限对象):权限对象通过Permission模型中获取
删除用户user的某个权限:user.user_permission.remove('权限对象')
删除用户sser所有的权限:user.user_permission.clear()
设置用过户user加入组group:user.groups.add(group)
为组group设置权限:group..permission.add()
......
自定义权限:
在模型声明中国定义
from django.db import models
from django.auth.models import AbstrcBaseUser
class MyUser(AbstrcBaseUser):
qq=models.CharField(verbose_name='QQ号')
class Meta(AbstrcBaseUser.Meta):
#自己定义权限
permission = ('自己要定义的codename字段','name字段')
网页访问权限
要登入后才能访问:@login_required(login_url='如果没有登入会自动跳转到这个页面') 如果登入成功后会自动返回到之前的页面,默认自己在setting.py中 设置LOGIN_URL='xxx'
要有某个权限后才能访问:@permission_required(perm= '应用app.相应的权限'('要具有的某个权限'),login_url='失败会跳转的网页')