Django基础篇-auth系统

①User 用户

在 views.py 文件中

  • 创建用户
  • 验证用户
  • 登录
  • 注销
  • login_required 装饰器

如果没有登录成功,会跳转到 settings.LOGIN_URL 指定的 URL 中。否则,直接执行函数中的内容。

②User 模型常用属性和方法

  • username:用户名;
  • email:邮箱;
  • groups:多对多的组;
  • user_permissions:多对多的用户权限;
  • is_staff:是否是 admin 的管理员;
  • is_active:是否激活,判断该用户是否可用;
  • is_superuser:是否是超级用户;
  • last_login:上次登录时间;
  • date_joined:注册时间;
  • is_authenticated:是否验证通过了;
  • is_anonymous:是否是匿名用户;
  • set_password(raw_password):设置密码,传原生密码进去;
  • check_password(raw_password):检查密码;
  • has_perm(perm):判断用户是否有某个权限;
  • has_perms(perm_list):判断用户是否有权限列表中的某个列表

③Permission 权限模型

在模型中添加权限 models.py

在代码中添加权限

用户权限操作

  • myuser.user_permissions.set([permission_list])
  • myuser.user_permissions.add(permission, permission, ...)
  • myuser.user_permissions.remove(permission, permission, ...)
  • myuser.user_permissions.clear()
  • myuser.has_perm('foo.add_bar')

注:访问权限的方式:appname + . + 权限名称

④Group 模型

  • 所属包 django.contrib.auth.models.Group
  • 创建 Group:必须传一个 name 参数进去
  • Group 操作:

group.permissions.set([permission_list])

group.permissions.add(permission, permission, ...)

group.permissions.remove(permission, permission, ...)

group.permissions.clear()

原文发布于微信公众号 - 数据云团(SmartData)

原文发表时间:2019-01-28

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券