用户注册
逻辑思路:
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)
扫描二维码关注公众号,回复:
2533187 查看本文章
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)