python对文件操作的相关函数_python文件操作的相关函数深入理解Django中内置的用户认证...

User对象的方法

is_authenticated()

如果是通过auth函数返回的真实的User对象,返回值则为True。这个方法检查用户是否已经通过了认证。

is_authenticated()函数的返回值为True时,表明用户成功的通过了认证。

创建用户

使用create_user辅助函数创建用户

from django.contrib.auth.models import User

user=User.objects.create_user(username="username",password="password")

学习电脑网认为此文章对《深入理解Django中内置的用户认证》说的很在理。

set_password(password)

使用这个方法来修改密码

使用:

from django.contrib.auth.models import User

user=User.objects.get(username="username") # 获取用户对象

user.set_password(password="password") # 设置对象的密码

user.save()

check_password(password)

用户想修改密码的时候,首先要让用户输入原来的密码。

如果用户输入的旧密码通过密码验证,返回True。

例子一,使用set_password()方法来修改密码

from django.shortcuts import render,redirect,HttpResponse

from django.contrib.auth.models import User

def create_user(request):

msg=None

if request.method=="POST":

username=request.POST.get("username"," ") # 获取用户名,默认为空字符串

password=request.POST.get("password"," ") # 获取密码,默认为空字符串

confirm=request.POST.get("confirm_password"," ") # 获取确认密码,默认为空字符串

if password == "" or confirm=="" or username=="": # 如果用户名,密码或确认密码为空

msg="用户名或密码不能为空"

elif password !=confirm: # 如果密码与确认密码不一致

msg="两次输入的密码不一致"

elif User.objects.filter(username=username): # 如果数据库中已经存在这个用户名

msg="该用户名已存在"

else:

new_user=User.objects.create_user(username=username,password=password) #创建新用户

new_user.save()

return redirect("/index/")

return render(request,"login.html",{"msg":msg})

例子二,使用login_required装饰器来修改密码

from django.shortcuts import render,redirect,HttpResponse

from django.contrib.auth import authenticate,login,logout

from django.contrib.auth.decorators import login_required

from django.contrib.auth.models import User

@login_required

def change_passwd(request):

user=request.user # 获取用户名

msg=None

if request.method=='POST':

old_password=request.POST.get("old_password","") # 获取原来的密码,默认为空字符串

new_password=request.POST.get("new_password","") # 获取新密码,默认为空字符串

confirm=request.POST.get("confirm_password","") # 获取确认密码,默认为空字符串

if user.check_password(old_password): # 到数据库中验证旧密码通过

if new_password or confirm: # 新密码或确认密码为空

msg="新密码不能为空"

elif new_password != confirm: # 新密码与确认密码不一样

msg="两次密码不一致"

else:

user.set_password(new_password) # 修改密码

user.save()

return redirect("/index/")

else:

msg="旧密码输入错误"

return render(request,"change_passwd.html",{"msg":msg})

总结

以上就是这篇文章的全部内容,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对的支持。

更多:python文件操作的相关函数深入理解Django中内置的用户认证

https://www.002pc.comhttps://www.002pc.com/python/525.html

你可能感兴趣的Django,内置,认证,用户,深入,理解

mysql增加只读用户MySQL SQL Tuning:深入理解Order By_MySQL

bitsCN.com

MySQL SQL Tuning:深入理解Order By 在MySQL中ORDER BY按先后顺序有2种实现方式,先走索引无排序,如果不行,则用FILESORT走索引无排序需要满足

linux文件路径写法Django 1.6.2 和 1.7a2 发布

Django 1.6.2Django 1.6.2 是 1.6 的第二个 bugfix 版本,改进记录请看 Django 1.6.2 release notes.建议所有用户升级到 Django 1.6.2

js后台数据变慢深入理解Vue router的部分高级用法

1.路由元信息学习电脑网从深入理解Vue router的部分高级用法分析来看,对深入理解Vue router的部分高级

linux中怎么查看用户信息awk内置变量NR与FNR使用详解

awk内置变量NR与FNRawk 命令中NR表示从awk开始执行后,按照记录分隔符读取的数据次数,默认的记录分隔符为换行符,因此默认的就是读取的数据行数,NR可以理解为Number of Record的

linux用户权限命令Linux Shell 编程 : shell内置字符串处理

总结了shell中内置的字符串处理功能,包括 > ${} # % :- :+ ?

js中的push深入理解JS中Number(),parseInt(),parseFloat()三者比较

参考阅读:学习电脑网对《深入理解JS中Number(),parseInt(),parseFloat()三者比较》总结来说,为我们帝国cms模板制作很实用。

PHP面向对象程序设计内置标准类,普通数据类型转为对象类型示例

本文实例讲述了PHP面向对象程序设计内置标准类,普通数据类型转为对象类型。分享给大家供大家参考,具体如下:

内置标准类

PHP中,有很多“现成的类”,其中有一个被称为“内置标准类

asp.net取整数初识 ASP.NET Membership 用户管理

一、与session的不同点

Membership 一般指用微软的aspnetdb数据库来进行身份认证

Session是指网站用户的会话信息

二、Membership 类提供的功能可用于:

1.创建新用户

0踩

0 赞

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值