def get_user(self): '''取得User,注意,不是WebUser''' if self.is_anonymous_user(): return None if self.web_user.email: user = User.all().filter('email', self.web_user.email) if user.count() == 1: return user[0] return None
def join(request): if request.method == 'POST': form = UserRegForm(request.POST) if form.is_valid(): user = form.save(commit=False) user_exist = User.all().filter('email', user.email) if user_exist.count(): return render_to_response('user/join.html', {'form':form, 'error_msg':u'该email已经注册'}, context_instance=RequestContext(request)) user.password = hashlib.sha1(user.password).hexdigest() user.put() # auto login response = HttpResponseRedirect('/user/join_success/') response.set_cookie(ymgconst.YMG_COOKIE, build_ymg_cookie(user.email, user.password)) return response else: form = UserRegForm() return render_to_response('user/join.html', {'form':form}, context_instance=RequestContext(request))
def login(request): redirect_to = request.GET.get('redirect_to', None) if request.method == 'POST': form = UserLoginForm(request.POST) if form.is_valid(): user = form.save(commit=False) exist_user = User.all().filter('email', user.email) if exist_user.count() == 1 and exist_user[0].password == hashlib.sha1(user.password).hexdigest(): response = HttpResponseRedirect('/') redirect_to = request.POST.get('redirect_to', None) if redirect_to: response = HttpResponseRedirect(redirect_to) response.set_cookie(ymgconst.YMG_COOKIE, build_ymg_cookie(exist_user[0].email, exist_user[0].password)) return response else: return render_to_response('user/login.html', {'form':form, 'error_msg':u'错误的用户名或密码'}, context_instance=RequestContext(request)) else: form = UserLoginForm() return render_to_response('user/login.html', {'form':form, 'redirect_to':redirect_to})