django2.2-用户认证系统和User模型

本文详细介绍了Django用户认证系统,包括创建用户、设置超级管理员、修改密码以及用户验证的方法。同时,讲解了如何扩展User模型以满足额外字段需求,并展示了在视图中判断用户状态、登录、注销及限制用户访问的操作。此外,还讨论了自定义用户模型的注意事项和使用策略。
摘要由CSDN通过智能技术生成

一、用户认证

Django自带一个用户认证系统,用于处理用户账户、分组、权限和基于cookie的用户会话。认证系统封装在django.contrib.auth模块中,默认是开启的。

User对象是认证系统的核心!该模型位于django.contrib.auth.models.User。自定义用户模型是无法使用django认证系统功能的,当然,我们可以通过继承的方法继承这些功能。

User模型主要的字段有:

  • username
  • password
  • email
  • first_name
  • last_name

1. 创建用户

使用create_user()方法:

from django.contrib.auth.models import User

# 创建用户并保存到数据库
hugh = User.objects.create_user(username='hugh',password='123456',……)

# 修改字段值,需要手动保存到数据库
hugh.email = 'ma.hugh@foxmail.com'
# 手动保存到数据库
user.save()

创建的用户默认保存在auth_user表中

2. 创建超级管理员(超级用户)

在终端中运行命令:

python manage.py createsuperuser

根据提示输入名字、密码和邮箱地址。提示密码强度不够,可以输入y忽略。

3. 修改密码

Django默认会对密码进行加密,因此,不要企图对密码进行直接操作!

  • 方法一:
    在终端中,使用命令修改:

    python manage.py changepassword 用户名
    
  • 方法二:
    在py文件中:

    from django.contrib.auth.models import User
    
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

花_城

你的鼓励就是我最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值