首先创建一个注册用户的程序:
def register(request):
#校验请求方式,进入不同的处理函数
if request.method == 'GET':
return render(request,'index.html',)
elif request.method == 'POST':
'''获取前端页面的数据'''
print('进入')
user_name = request.POST.get('username')
password = request.POST.get('password')
cpassword = request.POST.get('cpassword')
emai = request.POST.get('email')
#判断数据是否为空
if not all([user_name, password, cpassword, emai]):
return render(request, 'index.html')
#判断邮箱是否规范
if not re.match(r'^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+((\.[a-zA-Z0-9_-]{2,3}){1,2})$', emai):
return render(request, 'index.html',{'errmsg':'邮箱不符合规范'})
#判断是否重复操作
#判断邮箱:
try:
user_email = UserInfo.objects.filter(email__exact = emai )
print(user_email)
except Exception as e:
user_email = None
if user_email:
return render(request, 'index.html', {'errmsg': '邮箱已经被使用'})
#判断用户名
try:
user = UserInfo.objects.get(username = user_name)
except Exception as e:
user = None
if user:
return render(request, 'index.html', {'errmsg': '用户名已经被使用'})
#创建一个用户对象
user = UserInfo.objects.create_user(username=user_name, email=emai, password=password)
#create_user 自带检查是否重复
# create_user(self, username, email=None, password=None,
#讲激活标志设置为0
user.is_active = 0
user.save()
print('提交成功')
return render(request, 'index.html')
第二步,进行数据库的校验:
class RegisterView(View):
def get(self,request):
return render(request, 'index.html')
def post(self,request):
#获取用户输入的信息
user_name = request.POST.get('username')
password = request.POST.get('password')
cpassword = request.POST.get('cpassword')
email = request.POST.get('email')
'''判断数据是否为空'''
if not all([user_name, password, cpassword, email]):
return render(request, 'index.html')
if not re.match(r'^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+((\.[a-zA-Z0-9_-]{2,3}){1,2})$', email):
return render(request, 'index.html', {'errmsg': '邮箱不符合规范'})
try:
user = UserInfo.objects.filter(email__exact=email)
(UserInfo是数据库里面存放用户信息的一张表,filter是模糊查询,去匹配数据库里面的信息)
except Exception as e:
user = None
if user:
return render(request, 'index.html', {'errmsg': '邮箱已经被使用'})
'''判断用户名'''
try:
usern = UserInfo.objects.get(username=user_name)
except Exception as e:
usern = None
if usern:
return render(request, 'index.html', {'errmsg': '用户名已经被使用'})
'''创建一个用户对象'''
user = UserInfo.objects.create_user(username=user_name, password=password, email=email)
# create_user(self, username, email=None, password=None,
'''将激活标志设置为0'''
user.is_active = 0
user.save()
print('提交成功')