django认证系统-user对象(创建,改密,认证)
User对象
User
对象是认证系统的核心。它们通常表示与你的站点进行交互的用户,并用于启用限制访问、注册用户信息和关联内容给创建者等。在Django的认证框架中只存在一种类型的用户,因此诸如'superusers'
或管理员'staff'
用户只是具有特殊属性集的user对象,而不是不同类型的user对象。
创建users
创建users最直接的方法是使用create_user()
辅助函数:
>>> from django.contrib.auth.models import User
>>> user = User.objects.create_user('john', 'lennon@thebeatles.com', 'johnpassword')
from django.contrib.auth.models import User def create_user(request):
#auth_user
# user = User.objects.create_user('john', 'lennon@thebeatles.com', 'johnpassword')
#superuser python manage.py createsuperuser --username=joe --email=joe@example.com
u = User.objects.get(username='john')
u.set_password('new password')
u.save()
return HttpResponse("success-----%s"%u)
创建成功后见数据库auth_user表
创建superusers
使用createsuperuser
命令创建superusers:
$ python manage.py createsuperuser --username=joe --email=joe@example.com
或者
$ python manage.py createsuperuser
接下来依次输入用户密码即可
成功后见auth_user表
修改密码
>>> from django.contrib.auth.models import User
>>> u = User.objects.get(username='john')
>>> u.set_password('new password')
>>> u.save()
成功后见auth_user表,密码已经改变
认证Users
authenticate
(**credentials)[source]
认证一个给定用户名和密码,请使用authenticate()
。它以关键字参数形式接收凭证,对于默认的配置它是username
和password,如果密码对于给定的用户名有效它将返回一个
User
对象。如果密码无效,authenticate()
返回None
。例子:
from django.contrib.auth import authenticate
user = authenticate(username='john', password='secret')
if user is not None:
# the password verified for the user
if user.is_active:
print()
else:
print()
else:
# the authentication system was unable to verify the username and password
print()
def auth(request):
user = authenticate(username='john', password='new password')#john
# user = authenticate(username='john', password='johnpassword')#None
print(user)
if user is not None:
# the password verified for the user
if user.is_active:
print("验证成功,已激活")
else:
print("验证成功,未激活")
else:
# the authentication system was unable to verify the username and password
print("没有此用户")
return HttpResponse(user)
john
验证成功,已激活
django认证系统-user对象(创建,改密,认证)的更多相关文章
- Django用户认证系统(二)Web请求中的认证
在每个Web请求中都提供一个 request.user 属性来表示当前用户.如果当前用户未登录,则该属性为AnonymousUser的一个实例,反之,则是一个User实例. 你可以通过is_authe ...
- 【django后端分离】Django Rest Framework之认证系统之redis数据库的token认证(token过期时间)
1:登录视图 redis_cli.py文件: import redis Pool= redis.ConnectionPool(host='localhost',port=6379,decode_res ...
- django 认证系统--2
使用django的认证系统 User 对象 User是认证系统的核心.典型代表是用户和你的站点进行交互还有限制访问.注册用户等等.django认证框架中,只存在一个User类,像'superuser' ...
- 将Python的Django框架与认证系统整合的方法
将Python的Django框架与认证系统整合的方法 这篇文章主要介绍了将Python的Django框架与认证系统整合的方法,包括指定认证后台和编写认证后台等内容,需要的朋友可以参考下 将Django ...
- 自定义Django认证系统的技术方案
Django已经提供了开箱即用的认证系统,但是可能并不满足我们的个性化需求.自定义认证系统需要知道哪些地方可以扩展,哪些地方可以替换.本文就来介绍自定义Django认证系统的相关技术细节. 自定义认证 ...
- Django用户认证系统
一. 认证系统概要 create_user 创建用户 authenticate 验证登录 login 记住用户的登录状态 logout 退出登录 is_authenticated 判断用户是否登录 l ...
- Django--4、认证系统
cookie与session 概念 因http协议无法保存状态,但是又需要保存状态,所以有了cookie.它不属于http协议范畴 工作原理:相当于一段标识数据.在访问服务器产生标识内容(cookie ...
- .Net Core 认证系统源码解析
不知不觉.Net Core已经推出到3.1了,大多数以.Net为技术栈的公司也开始逐步的切换到了Core,从业也快3年多了,一直坚持着.不管环境怎么变,坚持自己的当初的选择,坚持信仰 .Net Cor ...
- Django用户认证系统(一)User对象
User对象 User对象是认证系统的核心.用户对象通常用来代表网站的用户,并支持例如访问控制.注册用户.关联创建者和内容等.在Django认证框架中只有一个用户类,例如超级用户('superuser ...
随机推荐
- hyper-v安装centos后配置网络
YPE="Ethernet" PROXY_METHOD="none" BROWSER_ONLY="no" BOOTPROTO="n ...
- Java连载15-boolean类型&类型转换&++运算符
一.boolean类型 1.说明: (1)在java语言中,boolean类型只有两个值:true.false,没有其他的值.在C语言中,是有0代表false和1代表true的 (2)在底层存储的时候 ...
- SpringBoot第三篇:配置文件详解二
作者:追梦1819 原文:https://www.cnblogs.com/yanfei1819/p/10615605.html 版权声明:本文为博主原创文章,转载请附上博文链接! 前言 本文主要讲 ...
- mysql性能的检查和优化方法
这个命令可以看到当前正在执行的sql语句,它会告知执行的sql.数据库名.执行的状态.来自的客户端ip.所使用的帐号.运行时间等信息 mysql在遇到严重性能问题时,一般都有这么几种可能:1.索引没有 ...
- vm ------ 安装
虚拟机(英语:virtual machine),在计算机科学中的体系结构里,是指一种特殊的软件,可以在计算机平台和终端用户之间创建一种环境,而终端用户则是基于这个软件所创建的环境来操作软件. 虚拟机最 ...
- Vue.js 源码分析(十一) 基础篇 过滤器 filters属性详解
Vue.js 允许你自定义过滤器,可被用于一些常见的文本格式化.过滤器可以用在两个地方:双花括号插值和 v-bind 表达式 (后者从 2.1.0+ 开始支持).过滤器应该被添加在 JavaScrip ...
- ROS消息vs服务
1.ROS包消息/服务模式与要点 从功能上看,ROS包是信息交互和处理的基本单元.根据信息的交互和处理方式,ROS包有以下两大类: 消息发布者与订阅者 服务器与客户端 对于消息模式的包,信息的提供者主 ...
- 常见框架和WSGI协议
三大框架对比 Django 大而全 自带的功能特别特别多 类似于航空母舰 有时候过于笨重 Flask 小而精,只保留了核心功能,其他可以自由选择 第三方的模块特别特别多,如果将flask第三方模块全部 ...
- 《 .NET并发编程实战》实战习题集 - 1 - 隔离副作用
先发表生成URL以印在书里面.等书籍正式出版销售后会公开内容.
- 关于NB-IoT,没有比这篇更通俗易懂的啦!
来源:内容来自「鲜枣课堂」,谢谢. 大家好,我是小枣君. 今天,我是来“吹NB”的.嗯,标题已经剧透了,这个NB,就是NB-IoT. 在过去的一年多,NB-IoT真的可以说是大红大紫.在通信圈里,除了 ...