Django学习笔记(八):Django实现简单注册登录操作

用户注册

逻辑思路:

1,先拿参数

2,校验参数格式和对应的用户名字要求

3,校验该用户是不是被注册过

4,果然没被注册就创建一条用户数据

5,使用重定向将用户引导至登录页面进行登录

代码实现

注意:create_user用来创建用户

#导入系统自带的用户模型
form django.contrib.auth.models import User

#获取前端输入数据
params = req.POST
u_name = params.get("u_name")
pwd = params.get("pwd")
confirm_pwd = params.get('confirm_pwd')

#判断用户输入的数据是否满足基本要求
if u_name and len(u_name)>6 and pwd and confirm_pwd and pwd == cpmfirm_pwd:
    #判断用户是否已经被注册了
    exists_flag = User.objects.filter(username=u_name).exists()
    if exists_flag:
        return HttpResponse("该用户被注册")
    else:
        #如果没有被注册 那么就可以创建用户
        user = User.objects.create_user(username=u_name,password=pwd)
        return HttpResponse("创建了" + user.username)
else:
    return HttpResponse("账号密码格式不正确")

重要代码:

#判断数据库中是否已经拥有改用户

User.objects.filter(username=u_name).exists()

#创建新用户

User.objects.create_user(username=u_name,password=pwd)

用户登录

逻辑思路

1,拿参数(账号,密码等)

2,校验数据格式

3,校验数据是否与数据库中相匹配

4,校验通过得到用户信息

5,将用户登录login(req,user)

6,如果用户校验失败,提示用户错误信息

代码实现

#获取用户输入数据
params = req.POST
u_name = params.get("u_name")
pwd = params.get("pwd")
#校验数据格式
if u_name and len(u_name)>6 and pwd and len(pwd)>=6:
    #校验用户
    user = authenticate(username=u_name,password=pwd)
    if user:
        #通过校验的用户,让其登录
        login(req,user)
        return HttpResponse("登入成功")
    else:
        #未通过校验,返回错误信息
        return HttpResponse("账号或密码错误")
else:
    return HttpResponse("请重新确认登入信息")

重要代码

#用户校验 authenticate

authenticate(username=u_name,password=pwd)

 

获取用户登录

user = request.user

退出登录

from django.contrib.auth import logout
logout(request)








 

猜你喜欢

转载自blog.csdn.net/xiaohuoche175/article/details/81276009