def login(request): # 用户登录功能视图函数 if request.method == 'POST': # 如果请求为表单提交 loginForm = LoginForm(request.POST) # 获取表单内容 if loginForm.is_valid(): # 解析表单 username = FormsManager.getData(loginForm, 'username') password = FormsManager.getData(loginForm, 'password') user = Customer.objects.get(username=username) # 尝试查询该用户 SessionManager.setLogin(request, username, user.isAdministrator()) if SessionManager.isAdministrator(request): return HttpResponseRedirect("/administratorloginedindex/") else: return HttpResponseRedirect("/customerloginedindex/") else: # 如果是普通访问(GET方法) if SessionManager.isLogined(request): return HttpResponseRedirect('/') # 如果已经登录,跳转到首页 else: loginForm = LoginForm() # 创建表单 return render(request, 'loginUI.html', locals()) # 渲染页面
def register(request): if request.method == 'POST': registerForm = RegisterForm(request.POST) # 获取表单内容 if registerForm.is_valid(): # 解析表单 username = FormsManager.getData(registerForm, 'username') password = FormsManager.getData(registerForm, 'password') confirmPassword = FormsManager.getData(registerForm, 'confirmPassword') phoneNumber = FormsManager.getData(registerForm, 'phoneNumber') birthday = FormsManager.getData(registerForm, 'birthday') user = CustomerDB() # 创建空用户对象 CustomerDB.objects.create(username=username, password=password) personalInformation = PersonalInformationDB.objects.create( username=username) personalInformation.setPhoneNumber(phoneNumber) personalInformation.setBirthday(birthday) return HttpResponseRedirect("/login/") # 跳转login else: registerForm = RegisterForm() if SessionManager.isLogined(request): return HttpResponseRedirect("/") return render(request, "registerUI.html", locals()) # 正常访问,渲染模板
def logout(request): if SessionManager.isLogined(request): SessionManager.setLogout(request) return HttpResponseRedirect("/")