zoukankan      html  css  js  c++  java
  • django——Auth 模块

    Auth模块

    创建超级用户(管理员)
    
    python3 manage.py createsuperuser
    
    from django.contrib import auth
    

    方法

    # 1.比对用户名和密码是否正确
    user_obj = auth.authenticate(request,username=username,password=password)
    
    # 2.保存用户状态
    auth.login(request,user_obj)
    # 执行了该方法 通过request.user获取到当前登陆的用户对象
    
    # 3.判断当前用户是否登陆
    request.user.is_authenticated()
    
    # 4.获取当前登陆用户
    request.user
    
    # 5.校验用户是否登陆装饰器
    from django.contrib.auth.decorators import login_required
    # 局部配置
    @login_required(login_url='/login/')
    @login_required(login_url='/app01/login/')
    # 全局配置
    LOGIN_URL = '/login/'
    
    # 6.比对原密码
    request.user.check_password(old_password)
    
    # 7.修改密码
    request.user.set_password(new_password)
    request.user.save()
    
    # 8.注销
    auth.logout(request) 
    
    # 9.注册
    User.objects.create(username=username,password=password)
    # 写入数据  不能用create 密码没有加密处理
    
    # 创建普通用户
    User.objects.create_user(username=username,password=password)
    
    # 创建超级用户:使用代码创建超级用户 邮箱是必填的 而用命令创建则可以不填
    User.objects.create_superuser(username=username,email='123@qq.com',password=password)
    

    扩展auth_user表

    from django.db import models
    from django.contrib.auth.models import User,AbstractUser
    
    class UserInfo(AbstractUser):
        phone = models.BigIntegerField()
        
        注意:
            1.在继承之前没有执行过数据库迁移命令
            2.继承的类里面不要覆盖AbstractUser里面的字段名
    
    注册:
    AUTH_USER_MODEL = 'app01.UserInfo'
                        '应用名.表名'
    
  • 相关阅读:
    Ckeditor 编辑器上传WPS图片失败问题
    vue3 部署开发环境
    docker 容器报Permission denied问题
    阿里云二级域名解析+Nginx 反向代理,整洁URL
    Linux下安装PostgreSQL
    使用docker 安装 gitlab + jenkins + sonarqube
    Linux下安装Docker
    PL/SQL
    Linux下挖矿病毒解决记录
    Dubbo学习笔记-泛化实现进行mock
  • 原文地址:https://www.cnblogs.com/pythonwl/p/13520072.html
Copyright © 2011-2022 走看看