【django】用户注册后端逻辑【10】

在人生的道路上,不管是潇洒走一回,或者是千山独行,皆须是自己想走的路,虽然,有的人并不是很快就能找到自己的方向和道路,不过,只要坚持到底,我相信,就一定可以找到自己的路,只要找到路,就不必怕路途遥远了。

导读:本篇文章讲解 【django】用户注册后端逻辑【10】,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com,来源:原文

1、接收参数

username=request.POST.get('username','')
phone=request.POST.get('phone','')
password=request.POST.get('password','')

2、校验参数

前端校验过的后端也要校验,后端的校验和前端的校验是⼀致的

  • 判断参数是否⻬全
  • 判断⽤户名是否是5-8位字符
  • 判断密码是否是3-8位字符
  • 判断⼿机号是否合法
#todo 校验参数(完整参数校验、格式校验)
#判断参数是否齐全
if not all([username,phone,password]):
    raise Forbbiden('缺少必传参数')
#判断用户名是否是5-8个字符
if not re.match(r'^[a-zA-Z][a-zA-Z0-9_]{4,7}$',username):
    raise Forbbiden('请输⼊5-8个字符的⽤户名')
#判断密码是否是3-8个字符
if not re.match(r'^[0-9a-zA-Z]{3,8}$',password):
    raise Forbbiden('请输⼊3-8位的密码')
#判断手机号是否合法
if not re.match(r'^1[3589]\d{9}$',phone):
    raise Forbbiden('请输⼊正确的⼿机号码')

特别注意1:这⾥校验的参数,前端已经校验过,如果此时参数还是出错,说明该请求是⾮正常渠道发送的,所以直接禁⽌本次请求。

3、保存注册数据

特别注意2:这⾥使⽤Django认证系统⽤户模型类提供的 create_user() ⽅法创建新的⽤户。
这⾥ create_user() ⽅法中封装了 set_password() ⽅法加密密码。

#todo 保存注册数据(入库操作)
try:
    user=Users.objects.create_user(username=username,password=password,phone=phone)
except DatabaseError:
    return render(request,'userapp/register.html',{'reg_error_msg':'注册失败'})
    
#todo 返回响应结果
return HttpResponse('进入项目首页')

如果注册失败,我们需要在⻚⾯上渲染出注册失败的提示信息。

<h5 class="title-login">⽤户注册 
	{% if register_error %} 
		<span class="error-tip">{{ register_error }}</span> 
	{% endif %}
</h5>

4、响应注册结果

见https://editor.csdn.net/md/?articleId=124331997

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/123321.html

(0)
飞熊的头像飞熊bm

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!