Django—用户认证系统(前期配置)

  • 配置


    主要的操作包括:
    1. create_user 创建⽤户
    2. authenticate 验证登录
    3. login 记住⽤户的登录状态
    4. logout 退出登录
    5. is_authenticated 判断⽤户是否登录
    6. @login_required 判断⽤户是否登录的装饰器

    1. 在setting.py的INSTALLED_APPS
    INSTALLED_APPS = [
     'django.contrib.auth', 
     # ⽤户权限处理部分依赖的应⽤ 
     'django.contrib.contenttypes', ]
    
    
    
    2. 在setting.py的MIDDLEWARE
    MIDDLEWARE = [
    # 会话⽀持中间件
    'django.contrib.sessions.middleware.SessionMiddleware',
    # 认证⽀持中间件
    'django.contrib.auth.middleware.AuthenticationMiddleware', ]
    
    
    AUTH_USER_MODEL = 'app名字.User'

    继承AbstractUser
    1. 说明
    推荐⽅式、django.contrib.auth.models.User 也是继承⾃ AbstractUser 抽
    象基类,⽽且仅仅就是继承了 AbstractUser ,没有对 AbstractUser 做任何
    的拓展
    User 对象属性:username, password(必填项)password⽤哈希算法保
    存到数据库
    is_staff : ⽤户是否拥有⽹站的管理权限.
    is_active : 是否允许⽤户登录, 设置为 False ,可以不⽤删除⽤户来禁⽌ ⽤户
    登录
    
    
    
    2. 在app的models.py中
    class User(AbstractUser):
     phone = models.CharField(
     max_length=12,
     null=True,
     verbose_name="⼿机号"
     )
     class Meta(AbstractUser.Meta):
     db_table='user'
    
    
    3. 注意
    为了让 Django ⽤户认证系统使⽤我们⾃定义的⽤户模型,必须在 settings.py
    ⾥通过 AUTH_USER_MODEL 指定⾃定义⽤户模型所在的位置
    AUTH_USER_MODEL = 'app名字.User'
    
    
    4. 迁移
    python manage.py makemigrations
    python manage.py migrate

发布了180 篇原创文章 · 获赞 6 · 访问量 2302

猜你喜欢

转载自blog.csdn.net/piduocheng0577/article/details/105028712