def user_login_validate(request): query_dict = request.POST get_user_functions = { 'mobile_phone':_get_user_with_mobile_phone, 'email':_get_user_with_email } if query_dict.__contains__('l_account') and query_dict.__contains__('l_password'): u_account = query_dict['l_account'] u_password = _makemd5(query_dict['l_password']) try: users = get_user_functions[_get_account_type(u_account)](u_account,u_password) #user is correctly if users.count() == 1: set_session(request,'user_id',users[0].id) return HttpResponse('%s' % request.session['user_id']) except KeyError: return HttpResponse('您输入的帐号格式不正确。[#0]') return HttpResponse('您输入的帐号或者密码不正确。[#1]')
def api_users_set__region(request): """用户角色选择所在区域的API方法 request - django.HttpRequest对象 value - 区域的字符串 """ __selected_region = request.POST.get("region", "") if len(__selected_region) == 0: return HttpResponse("") try: if get_is_logined(request): user = Users.objects.get(id=int(request.session["user_id"])) if user.user_info_set.all().count() == 0: user.user_info_set.create(usually_region=__selected_region) else: user_info = user.user_info_set.only()[0] user_info.usually_region = __selected_region user_info.save() set_session(request, "region", __selected_region) return HttpResponse(__selected_region) except: return HttpResponse("")
def user_reg_post(request): if all_in_request(request.POST,('fname','lname','appe','email','password','idcard','mphone',)): _first_name = request.POST['fname'] _last_name = request.POST['lname'] _password = request.POST['password'] _appellation = request.POST['appe'] _email = request.POST['email'] _id_no = request.POST['idcard'] _mobile_phone = request.POST['mphone'] # validate user's info if that exist has_exist_any = Users.objects.exist_any(_email,_id_no,_mobile_phone) if not has_exist_any: #make a md5 password _password = _makemd5(_password) #make md5 END #init a new user obj new_user = Users( first_name=_first_name, last_name=_last_name, password=_password, appellation=_appellation, email=_email, id_no=_id_no, mobile_phone=_mobile_phone) # init new user obj END try: # try to save new user obj new_user.save() #record session set_session(request,'user_id',new_user.id) #向客户端响应包含新用户姓氏,称谓以及ID的HTML代码 return render_to_response( 'user/reg_success.html',{ 'U_FIRST_NAME':new_user.first_name, 'U_APPELLATION':new_user.appellation, 'U_ID':new_user.id } ) except Exception: import sys ex = sys.exc_info()[2].tb_frame.f_back writelog('**Exception:%s on line %s' %(ex.f_code.co_name,ex.f_lineno,)) return render_error_page( err_action='我们在提交注册申请时', err_msg=( '服务器访问量太大,暂时无法响应您的请求。', ), other_options=[('回到打杂兔网站首页','/',),('挺稍后再尝试注册','/user/reg/',)] ) else: return render_error_page( err_action='我们在提交注册申请时', err_msg=( '您提交的电子邮箱已经被注册。', '您提交的身份证件号码已经被注册。', '您提交的手机号码已经被注册。', ), other_options=[('回到打杂兔网站首页','/',),('重新注册','/user/reg/',)] ) else: return render_error_page( '您在访问本页时', ('您没有使用正确的浏览方式访问本页。',), [('回到打杂兔网站首页','/',)])