用户认证组件

 

 

功能:用session记录登录验证状态

前提:用户表:django自带的auth_user

python3 manage.py makemigrations

python3 manage.py migrate

创建超级用户:python3 manage.py  createsuperuser 

API:

from django.contrib import auth

auth.authenticate(username=user,password=pwd)  # 验证用户名密码

auth.login(request,user)    # 登录成功后,request.user当前登录用户

auth.logout()  # 注销用户

from django.contrib.auth.models import User #User == auth_user

request.user.is_authenticated()   True False

 

from django.contrib.auth.hashers import make_password   #注册时要加密,否则登录时用auth模块又是加密后的的密码。

user= User.objects.create_user(username='',password=make_password(pwd),email='')

补充:

   匿名用户对象:

    匿名用户

    class models.AnonymousUser

    django.contrib.auth.models.AnonymousUser 类实现了django.contrib.auth.models.User接口,但具有下面几个不同点:

    id 永远为None

    username 永远为空字符串

    get_username()永远返回空字符串

    is_staff和is_superuser永远为False

    is_active 永远为False

    groups和user_permissions永远为空

    is_anonymous() 返回True 而不是False

    set_password(),check_password(),save()和delete()引发NotImplementedError.

    New in Django 1.8:

      新增AnonymousUser.get_username()以更好地模拟django.contrib.auth.models.User.

          总结:request.user

        if not: auth.login(request,user) request.user == AnonymousUser()

        else: request.user==登录对象

        request.user是一个全局对象

        在任何视图和模板直接使用

 认证装饰器:@login_required

 

也可以不用传

 

注销:

 

 

 用户注册:

 

 

 

认证装饰器

==>

 

 

 

转载于:https://www.cnblogs.com/beallaliu/p/9941511.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值