首页 > 其他分享 >Django默认用户模型类

Django默认用户模型类

时间:2023-03-21 23:33:06浏览次数:54  
标签:Django 用户 默认 认证 密码 password 模型

Django默认用户模型类

Django 框架默认使用一个 User 模型类, 保存有关用户的数据。
例如:
我们定义 admin 站点时, 定义的超级用户信息, 就是存储在 User 模型类对应的表中。

在这里插入图片描述
我们可以通过 select * from auth_user; 查看数据表。
这个表里就是我们保存的管理员信息,是由用户模型类生成的。

模型类的位置:
在这里插入图片描述

父类 AbstractUser 介绍

User 对象基本属性

  • 创建用户必选: username、password
  • 创建用户可选:email、first_name、last_name、last_login、date_joined、is_active 、is_staff、is_superuse
  • 判断用户是否通过认证:is_authenticated

创建用户的方法

 user = User.objects.create_user(username, email, password, **extra_fields)
  • 1

用户认证的方法

Django 自带用户认证系统

它处理用户账号、组、权限以及基于 cookie 的用户会话

Django 认证系统同时处理认证和授权

  • 认证:验证一个用户是否它声称的那个人,可用于账号登录.

  • 授权:授权决定一个通过了认证的用户被允许做什么.

Django 认证系统包含的内容

  • 用户:用户模型类、用户认证.
  • 权限:标识一个用户是否可以做一个特定的任务,MIS 系统常用到.
  • :对多个具有相同权限的用户进行统一管理,MIS 系统常用到.
  • 密码:一个可配置的密码哈希系统,设置密码、密码校验.

导包

  from django.contrib.auth import authenticate
  • 1

进行认证校验, 查看用户是否是声明的那一个

 user = authenticate(username=username, password=password, **kwargs)
  • 1

处理密码的方法
设置密码:set_password(raw_password)
校验密码:check_password(raw_password)

标签:Django,用户,默认,认证,密码,password,模型
From: https://www.cnblogs.com/clark1990/p/17242068.html

相关文章

  • Django笔记四之字段属性
    这篇笔记介绍的fieldoptions,也就是字段的选项属性。首先,关于model,是数据库与python代码里的一个映射关系,每一个model是django.db.models.Model的一个子类。mode......
  • airflow+k8s 多用户-分布式-跨集群-容器化调度
    对于考虑使用拖拉拽编排使用云原生调度的可以参考​​​https://github.com/tencentmusic/argo-workflow​​全栈工程师开发手册(作者:栾鹏)​架构系列文章最开始采用airflow......
  • django-rest-framework-从零开始-9-视图类ModelViewSet的使用
    django-rest-framework-从零开始-9-视图类ModelViewSet的使用1、前言在之前(django-rest-framework-从零开始-7-通用的视图类的使用),我们通过简单几步,就可以创建出简单CRUD......
  • 守护线程和用户线程
    用户线程:主线程的子线程,当主线程结束时,用户线程也会结束。守护线程:一种特殊的线程,它是在后台运行的,当所有用户线程结束时,守护线程也会随之结束。例如gc线程 publiccl......
  • django-rest-framework-从零开始-8-Serializer多序列化一个字段
    django-rest-framework-从零开始-8-Serializer多序列化一个字段1、前言这里是属于自己的项目需求,而研究的功能。目的:想在Serializer类中,多显示一个字段。例如:模型使......
  • mongodb创建用户
    $dockerexec-itmongomongoadmin#创建一个名为admin,密码为123456的用户。>db.createUser({user:'admin',pwd:'123456',roles:[{role:'userAdminAnyDatabas......
  • django-rest-framework-从零开始-6-视图类GenericAPIView的使用
    django-rest-framework-从零开始-6-视图类GenericAPIView的使用1、前言之前提到过的基于APIView类的视图,需要重写["get","post","put","patch","delete","head","opti......
  • linux 查看JVM默认参数 (centos7)
    #情景之前学习过“深入了解JVM虚拟机”,习得了一些JVM方面的一些知识,但是并没有相应的实战虽然没有相应的实战,但是。咱们也得知道如何查看JVM默认参数,以及如何修改相应的JVM......
  • vue 默认margin:8px
    #问题情景之前新拉取的vue项目,今天在更换背景图片的时候,发现,图片与顶部有缝隙,查看后发现,body属性中有margin:8px的属性,但是我程序代码中,外层并没有相关设置,且该body是在我......
  • django-rest-framework-从零开始-3-序列化类ModelSerializer的使用
    django-rest-framework-从零开始-3-序列化类ModelSerializer的使用1、前言我们之前提到创建序列化类,需要继承serializers.Serializer类,然后映射模型类的字段,然后重写crea......