django自带用户模块总结

from django.contrib import auth

authenticate():可以用来验证用户名和密码是否正确,验证成功会返回一个user对象

user = auth.authenticate(username=username,password=password)

login():实现用户登录功能,会在后台为登录用户生成session数据,接收两个参数,一个是HTTPRequest和authenticate认证过的用户对象

auth.login(request,user)
return redirect('index')

logout():实现注销功能,清除当前登录用户数据库中的session数据

auth.logout(request)
return redirect('login')

is_authenticated():判断当前用户是否通过认证,结果为布尔值

ret = request.user.is_authenticated
print(ret)

login_required():auth模块提供的一个装饰器工具
如果用户没有登录,默认跳转到login,并传递当前url绝对路径
当用户访问index时,若没有登录会跳转到登录页面

from django.contrib.auth.decorators import login_reqired
LOGIN_URL = '/login/'

@login_reqired
def index(request):
	return render(reqeust,'index.html')

用户相关
create_superuser():创建一个超级用户,接收username,password两个必要参数,这个方法很少使用

from django.+contrib.auth.models import User
user = User.objects.create_superuser(username='用户名',password=密码)

create_user():新创建的用户将会保存在auth_user数据表中的密码是加密的

User.objects.create_user(username='li', password='1234')

check_password():检查登录用户密码是否正确,需要当前请求用户的密码
密码正确返回True

user = User.objects.create_user(username=1,password=1)
ret = user.check_password()
print(ret)   #False
return HttpResponse('创建成功')

set_password():用于修改密码,接收新密码作为参数,最后执行save()保存

def set_password(request):
    request.user.set_password('12')
    password = request.user.password
    request.user.save()
    print(password)
    return HttpResponse('修改成功')
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值