01-注册功能的实现

一 model设计

开始确定注册模块的数据库中的字段,包括姓名,密码,邮箱,地址,邮编,电话号码等.

model.py
from django.db import models
class UserInfo(models.Model):
uname = models.CharField(max_length=20)
upwd = models.CharField(max_length=40)
uemail = models.CharField(max_length=40)
ushou = models.CharField(max_length=20,default='')
uaddress = models.CharField(max_length=100,default='')
uyoubian = models.CharField(max_length=6,default='')
uphone = models.CharField(max_length=11,default='')

二 设计注册的views

在views中接收model的数据

  • 定义一个register注册函数,返回register_handle函数的数据,
  • register_handle对model的数据进行保存,并且对密码进行加密传输使其返回到登录页面。

  • 同时定义一个对注册时候对用户名进行过滤查重的register_exist的检验函数

  • 把register,register_handle,register_exister等函数加入到urls中

    views.py
    from  .models import *
    from django.http import JsonResponse
    from django.core.paginator import Paginator
    # Create your views here.
    def register(request):
        return  render(request,'df_user/register.html')
    def register_handle(requst):
        response = HttpResponse()
     # 接收用户输入
        post = requst.POST
        uname = post.get('user_name')
        upwd = post.get('pwd')
        ucpwd = post.get('cpwd')
        uemail = post.get('email')
     # 接收用户输入
      if upwd != ucpwd:
          return redirect('/user/register/')
       s1 = sha1()
       s1.update(upwd.encode('utf8'))
       upwd3 = s1.hexdigest()
       user = UserInfo()
       user.uname = uname
       user.upwd = upwd3
        user.uemail = uemail
       user.save()
       return redirect('/user/login/')
    def register_exist(requset):
        uname = requset.GET.get('uname')
        count = UserInfo.objects.filter(uname=uname).count()
        return JsonResponse({'count': count})
    
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容