潭州课堂25班:Ph201805201 django 项目 第十七课 用户登录,登出实现 (课堂笔记)

登录,校验:

  1,判断用户名输入是否为空,

  2,判断用户名密码是否匹配,

  3,记住我的功能,:将用户信息记到 session 中

请求方式: POST 

在视图中:

# 1,创建类
# 2,获取前台参数
# 3,校验参数
# 4,用户登录,设置用户会话信息
# 5,返回结果到前台




在主目录下的配置文件中,配置 redis ,存放图片验证码,短信验证码,用户 session

默认用 mysql 存放

# settings.py文件中加入如下内容:

CACHES = {
    "default": {
        "BACKEND": "django_redis.cache.RedisCache",  # 指定redis缓存后端
        "LOCATION": "redis://127.0.0.1:6379/0",
        "OPTIONS": {
            "CLIENT_CLASS": "django_redis.client.DefaultClient",
            # "PASSWORD": "mysecret"
        }
    },
    # 同样可以指定多个redis
    "session": {
        "BACKEND": "django_redis.cache.RedisCache",
        "LOCATION": "redis://127.0.0.1:6379/1",
        "OPTIONS": {
            "CLIENT_CLASS": "django_redis.client.DefaultClient",
        }
    },
    "verify_codes": {
        "BACKEND": "django_redis.cache.RedisCache",
        "LOCATION": "redis://127.0.0.1:6379/2",
        "OPTIONS": {
            "CLIENT_CLASS": "django_redis.client.DefaultClient",
        }
    },
    "sms_codes": {
        "BACKEND": "django_redis.cache.RedisCache",
        "LOCATION": "redis://127.0.0.1:6379/3",
        "OPTIONS": {
            "CLIENT_CLASS": "django_redis.client.DefaultClient",
        }
    },

}

# 将用户的session保存到redis中
SESSION_ENGINE = "django.contrib.sessions.backends.cache"
# 指定缓存redis的别名
SESSION_CACHE_ALIAS = "session"

  

在 users 应用的视图中创建个登录的类

进入 form 表单

 

在我们自定义的 form 表单中判断用户名密码是否正确,能否登录成功

回到视图中的登录类

 退出登录视图类:

url 配置:


原文地址:https://www.cnblogs.com/gdwz922/p/10122445.html