from django.shortcuts import render,HttpResponse,HttpResponseRedirect
import models
from django.db.models import Q # 模糊查询使用的对象
from django.core.paginator import Paginator,InvalidPage,EmptyPage,PageNotAnInteger # 分页使用的类和异常处理的包
from django.contrib import auth # 登录,退出,验证使用的包
from django.contrib.auth.decorators import login_required # 防止未登录就直接访问后台页面使用的包
from django.contrib.auth.models import User # 引入用户表
from django.contrib.auth.hashers import make_password # 密码加密使用的包
import os
import uuid # 生成唯一标识符
# 注册页面
def reg(request):
if request.method == 'POST':
# 收集用户信息
username = request.POST.get('username',None)
password1 = request.POST.get('password1',None)
password2 = request.POST.get('password2',None)
nick = request.POST.get('nick',"")
phone = request.POST.get('phone',"")
print username
if username and password1 and password2:
if password1 == password2:
# 判断用户名在用户表中是否存在
u_count = User.objects.filter(username=username).count() # 查看结果记录条数
if u_count == 0: # 没有这个用户名
# 添加自带用户表
user_info = {
'username':username,
'password':make_password(password2)
}
user_info = User.objects.create(**user_info)
# 添加扩展表的扩展信息
user_profile={
'nick':nick,
'phone':phone,
'user':user_info
}
models.UserProfile.objects.create(**user_profile)
return HttpResponseRedirect('/pro01/login/')
else:
return render(request, 'pro01/reg.html', {'error': '用户名已存在'})
else:
return render(request,'pro01/reg.html',{'error':'两次密码不相同'})
else:
return render(request,'pro01/reg.html')
# ajax验证用户名是否存在
def checkname(request):
# 获取ajax传递的name
name = request.GET.get('name',None)
res = models.User.objects.filter(username=name).count() # 受影响行数
if res == 0:
return HttpResponse('ok')
else:
return HttpResponse('用户名已经存在')
注意:以上内容是个人使用的随手记录, 就是介绍了下简单的使用
欢迎大家来吐槽,准备好瓜子饮料矿泉水,开整!!!
---------------------------------------------------------------------------------------
搞笑:能动手就尽量别吵吵