首页 > 其他 > 详细

django auth模块

时间:2020-01-14 21:29:01      阅读:78      评论:0      收藏:0      [点我收藏+]
auth模块
        django用户相关的自带的功能模块   auth_user表
        如何创建超级用户
            createsuperuser
        模块导入
            from django.contrib import auth
            from django.contrib.auth.models import User
        auth方法大全
            1.创建用户
                User.objects.create()  # 密码是明文
                User.objects.createuser()  # 基本都用它 
                User.objects.createsuperuser()  # 邮箱要给数据
                
            2.校验用户名和密码是否正确
                auth.authenticate(username=username,password=password)  # 用户名和密码两个一个都不能少
                # 该方法当用户名和密码正确的时候返回的用户对象 不正确返回None
            
            3.保存用户登录状态
                auth.login(request,user_obj)  # 这一句执行之后 request.user获取当前登录的用户对象
            
            4.如何判断当前用户是否登录 以及如何获取当前登录用户对象
                request.user.is_authenticated()  # 判断是否登录
                request.user  # 登录用户对象
            
            5.校验用户是否登录
                from django.contrib.auth.decorators import login_required
                # 局部配置
                @login_required(login_url=/login/)
                def xxx(request):
                    return HttpResponse(xxx页面)
                
                # 全局配置
                配置文件中写以下代码
                LOGIN_URL = /login/
                @login_required
                def xxx(request):
                    return HttpResponse(xxx页面)
                
                # 如果两个都设置了 那么优先执行局部配置
            
            6.修改密码
                request.user.check_password(old_password)  # 校验原密码是否正确
                
                request.user.set_password(new_password)
                request.user.save()                        # 一定要保存 
            
            7.注销功能
                auth.logout(request)
如何扩展auth_user表
# 1 利用一对一表关系()

# 2 利用类的继承
# 1 类的继承
from django.contrib.auth.models import User,AbstractUser
# Create your models here.
class Userinfo(AbstractUser):
phone = models.BigIntegerField()
avatar = models.FileField()
# 扩展的字段 尽量不要与原先表中的字段冲突

# 2 配置文件
AUTH_USER_MODEL = ‘应用名.表名‘
"""
django就会将userinfo表来替换auth_user表
并且之前auth模块所有的功能不变 参照的也是userinfo表
"""
 

django auth模块

原文:https://www.cnblogs.com/bigbox/p/12193973.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!