def register(request): """/home/register/ 注册""" template_val = {} if request.method == 'GET': # GET方法,显示注册表单 template_val['form'] = Register_form() return render_to_response('home/register.html', template_val, context_instance=RequestContext(request)) else: # POST方法,提交注册表单,进行数据验证并插入到数据库 register_form = Register_form(request.POST) if register_form.is_valid(): # 验证通过,存储用户并转向 data = register_form.cleaned_data user = _fn.create_user(username=data['username'], password=data['password'], studentId=data['studentId']) user.save() atschool = pm.AtSchool(userId=user, mygdufsPwd=data['mygdufs_pwd']) atschool.save() # login this user auth_login(request, authenticate(username=user.username, password=data['password'])) return HttpResponseRedirect(_fn.getRedirect(request)) else: # 验证失败,修改表单 template_val['form'] = register_form return render_to_response('home/register.html', template_val, context_instance=RequestContext(request))
def register(request): """/api/home/register/ 注册 如果表单验证通过则注册用户并登录,返回username和sessionid 如果表单验证未通过则返回表单错误信息formErrors 接收data结构: { 'username': '', 'password': '', 'studentId': '', 'mygdufs_pwd': '', 'apn_username': '',//非必须 'groups': [1,2,3],//非必须,群组的id } 返回data结构: { 'success': True, 'resultMsg': '', 'sessionid': '', 'username': '' } """ if request.method == 'POST': data = json.loads(request.POST.get('data', '{}')) form = Register_form(data) if form.is_valid(): # 验证通过,存储用户并登陆,同时返回sessionid user = _fn.create_user(username=data['username'], password=data['password'], studentId=data['studentId'], apn_username=data.get('apn_username', ''), groups=data.get('groups', [])) atschool = pm.AtSchool(userId=user,mygdufs_pwd=data['mygdufs_pwd']) atschool.save() # 登录 return login(request, data={ 'username': data['username'], 'password': data['password'], }) return HttpResponse(json.dumps({ 'success': False, 'resultMsg': '表单验证错误', 'formErrors': form.errors, 'data': data, })) else: return HttpResponse(json.dumps({ 'success': False, 'resultMsg': '请求方式出错,只能为POST', }))
def manage(request): """管理工具集,包括测试信息的添加等操作""" if request.GET.get('token', '') == 'molice': # 验证成功 progress = {'group':False,'user':False} result = '' # 增加群组 if not Group.objects.filter(name__iexact='校学生会'): Group(name='学生后勤服务信息中心').save() Group(name='校学生会').save() Group(name='08计算机4班').save() progress['group'] = True result += '添加群组成功;' else: result += '群组已存在;' # 增加用户 if not User.objects.filter(username__iexact='molice'): user = _fn.create_user(username='******', password='******', studentId='20081000139', apn_username='', groups=[1,2,3]) progress['user'] = True result += '添加molice成功' else: result += 'molice已存在' return HttpResponse(result) return HttpResponse('无权限')