Django中的用户认证 (使用Django认证系统)

文章目录

  • Django中的用户认证 (使用Django认证系统)
    • auth基本模型操作:
    • auth扩展字段
  • Django带有一个用户认证系统。 它处理用户账号、组、权限以及基于cookie的用户会话。

  • 作用:

    1. 添加普通用户和超级用户
    2. 修改密码
  • 文档参见

  • https://docs.djangoproject.com/en/2.2/topics/auth/

  • User模型类

  • 位置: from django.contrib.auth.models import User

  • 默认user的基本属性有:

    属性名 类型 是否必选
    username 用户名
    password 密码
    email 邮箱 可选
    first_name
    last_name
    is_superuser 是否是管理员帐号(/admin)
    is_staff 是否可以访问admin管理界面
    is_active 是否是活跃用户,默认True。一般不删除用户,而是将用户的is_active设为False。
    last_login 上一次的登录时间
    date_joined 用户创建的时间

auth基本模型操作:

  • 创建用户

    • 创建普通用户create_user

      from django.contrib.auth.models import User
      user = User.objects.create_user(username='用户名', password='密码', email='邮箱',...)
    • 创建超级用户create_superuser

      from django.contrib.auth.models import User
      user = User.objects.create_superuser(username='用户名', password='密码', email='邮箱',...)
      
  • 删除用户

    from django.contrib.auth.models import User
    try:user = User.objects.get(username='用户名')user.is_active = False  # 记当前用户无效user.save()print("删除普通用户成功!")
    except:print("删除普通用户失败")
  • 修改密码set_password

    from django.contrib.auth.models import User
    try:user = User.objects.get(username='xiaonao')user.set_password('654321')user.save()return HttpResponse("修改密码成功!")
    except:return HttpResponse("修改密码失败!")
    
  • 检查密码是否正确check_password

    from django.contrib.auth.models import User
    try:user = User.objects.get(username='xiaonao')if user.check_password('654321'):  # 成功返回True,失败返回Falsereturn HttpResponse("密码正确")else:return HttpResponse("密码错误")
    except: return HttpResponse("没有此用户!")
    

auth扩展字段

如果需要在默认auth表上扩展新的字段,如phone
1,添加新的应用
2,定义模型类 继承 AbstractUser
3,settings.py中 指明 AUTH_USER_MODEL = '应用名.类名'#models.py案例
from django.db import models
from django.contrib.auth.models import AbstractUser# Create your models here.
class UserInfo(AbstractUser):phone = models.CharField(max_length=11, default='')#settings.py添加配置
AUTH_USER_MODEL = 'user.UserInfo'#添加用户
from user.models import UserInfo
UserInfo.objects.create_user(username='guoxiao', password='123456', phone='13488871101')

Django用户认证系统相关推荐

  1. django用户认证系统——拓展 User 模型2

    Django 用户认证系统提供了一个内置的 User 对象,用于记录用户的用户名,密码等个人信息.对于 Django 内置的 User 模型, 仅包含以下一些主要的属性: username,即用户名 ...

  2. django用户认证系统——登录4

    用户已经能够在我们的网站注册了,注册就是为了登录,接下来我们为用户提供登录功能.和注册不同的是,Django 已经为我们写好了登录功能的全部代码,我们不必像之前处理注册流程那样费劲了.只需几分钟的简单 ...

  3. django用户认证系统——注册3

    用户注册就是创建用户对象,将用户的个人信息保存到数据库里.回顾一下 Django 的 MVT 经典开发流程,对用户注册功能来说,首先创建用户模型(M),这一步我们已经完成了.编写注册视图函数(V),并 ...

  4. Django默认用户认证系统和用户模型类

    Django默认用户认证系统和用户模型类 1.Django默认用户认证系统 Django自带用户认证系统 Django认证系统位置 Django认证系统同时处理认证和授权 Django认证系统包含的内 ...

  5. Django(part48)--用户认证系统

    学习笔记,仅供参考 文章目录 用户认证系统 User模型类 auth基本模型操作 创建用户 删除用户 修改密码 检查密码是否正确 用户认证系统 Django自带一个用户认证系统,它处理用户账号.组.权 ...

  6. 【Django】认证系统

    目录 #. auth模块 1. 认证 authenticate() 2. 登陆 login(HttpRequest, user) 3. 注销 logout(request) 4. 认证判断 is_au ...

  7. Django的认证系统(auth)

    Django自带的用户认证 : 在开发一个网站时, 无可避免的需要设计实现网站的用户系统. 此时我们需要实现包括用户注册, 用户登录, 用户认证, 注销, 修改密码等功能. Django作为一个完美主 ...

  8. Django用户认证管理系统(登录|注册|找回密码(邮箱找回)|注销)

    版本: 1. Python 3.6.2 2. Django 1.11.6 3. 虚拟环境 Virtualenv 网站提供登录.注册等用户认证功能是一个常见的需求.因此,Django 提供了一套功能完整 ...

  9. Python Django进阶教程(五)(session,Django用户认证)

    Django版本:1.11 操作系统:Windows Python:3.5 欢迎加入学习交流QQ群:657341423 session(会话),Django用户认证. 每个网站都cookies,会话, ...

  10. Laravel核心代码学习--用户认证系统(基础介绍)

    用户认证系统(基础介绍) 使用过Laravel的开发者都知道,Laravel自带了一个认证系统来提供基本的用户注册.登录.认证.找回密码,如果Auth系统里提供的基础功能不满足需求还可以很方便的在这些 ...

最新文章

  1. Relay外部库使用
  2. python数据插值_【Python】【数据分析】缺失值处理——插值
  3. Unity3D之预设
  4. JBox2D学习 - 小球碰撞实例 .
  5. 基于JAVA+Servlet+JSP+MYSQL的读者荐购系统
  6. 谷歌不支持调用摄像头麦克风_谷歌突然推出Android 11开发者预览版 新版带来部分新功能和改进...
  7. Quanergy联手思科为智能交通创建物联网解决方案
  8. 使用doxygen查看文件包含关系图
  9. magento 自动发送跟踪号_光伏电站自动跟踪集散控制系统的研究
  10. AlphaGo Zero算法简介
  11. JS阻止浏览器刷新的方法
  12. iOS 视频边下边播
  13. 百度大脑人脸离线识别SDK Windows版
  14. 强化学习的方法总结与分类
  15. vue解析excel文件(使用xlsx)
  16. Android 配置文件锁设置
  17. 电脑开机后,显示屏无信号怎么处理?
  18. 怎么提升效率?衡量指标又是是什么?
  19. 使用JDBC的基本步骤
  20. 线速处理能力的计算方法

热门文章

  1. 【Unity 框架】QFramework v1.0 使用指南 架构篇:05. 引入 Utility | Unity 游戏框架 | Unity 游戏开发 | Unity 独立游戏
  2. 关于“Fatal signal 11 (SIGSEGV) at 0x00000004 (code=1), thread 7592 (xample.hellojni)”android NDK错误排查
  3. 如何改善物流行业项目管理?
  4. 13.6.1 PDF 偏执狂
  5. 计算机DNS服务器错误,找不到服务器或DNS错误怎么办?Win7找不到服务器或dns错误解决方法...
  6. 【USACO】Team Tic Tac Toe(C题)
  7. Flutter混合栈管理
  8. RStudio 开发环境配置
  9. 使用scrapy爬取豆瓣上面《战狼2》影评
  10. 服务器如何与智能家居通讯协议,智能家居通信协议优缺点比较