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'
                        '应用名.表名'
    
  • 相关阅读:
    zoj 3195 Design the city LCA Tarjan
    hdu 2586 How far away ? 离线LCA
    洛谷 P3379 【模板】最近公共祖先(LCA)Tarjan离线
    codeforces #446 892A Greed 892B Wrath 892C Pride 891B Gluttony
    设计模式(16)---原型模式
    设计模式(15)---享元模式
    设计模式(14)---组合模式
    设计模式(13)---外观模式
    设计模式(12)---适配器模式
    设计模式(11)---代理模式
  • 原文地址:https://www.cnblogs.com/pythonwl/p/13520072.html
Copyright © 2011-2022 走看看