用户认证组件

Posted beallaliu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用户认证组件相关的知识,希望对你有一定的参考价值。

 

 

功能:用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

user= User.objects.create_user(username=‘‘,password=‘‘,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

 技术分享图片

技术分享图片

技术分享图片

技术分享图片

技术分享图片

技术分享图片

也可以不用传

技术分享图片

 

技术分享图片

注销:

技术分享图片

 

技术分享图片

 

 用户注册:

技术分享图片

技术分享图片

 技术分享图片

技术分享图片

 

认证装饰器

技术分享图片

==>

技术分享图片

 

技术分享图片

技术分享图片

技术分享图片

 

技术分享图片

技术分享图片

 

以上是关于用户认证组件的主要内容,如果未能解决你的问题,请参考以下文章

Python之用户认证组件

Django 用户认证(Auth)组件

Django--用户认证组件

Django-用户认证组件

django--用户认证组件

14 Django的用户认证组件