一 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})