def headimgUpdate(request): """点击修改头像后处理更换头像""" headimg = request.FILES.get('headimg') user = util.user.getCurrentUser(request) user.headimg = headimg user.save() messages.success(request, _('修改头像成功')) return redirect('/user/profile')
def newUser(request): # POST """新用户点击提交注册按钮后""" errMsg = partial(util.ctrl.infoMsg, title=_("注册失败")) username = request.POST.get('username') question = request.POST.get('question') answer1 = request.POST.get('answer1') answer2 = request.POST.get('answer2') tip = request.POST.get('tip') nickname = request.POST.get('nickname') email = request.POST.get('email') # check musts if not username: return errMsg(_("“{}”不能为空").format(_("用户名"))) if not question: return errMsg(_("“{}”不能为空").format(_("问题"))) if not answer1: return errMsg(_("“{}”不能为空").format(_("答案"))) if not email: return errMsg(_("“{}”不能为空").format(_("邮箱"))) # auto fills if not nickname: nickname = util.user.getRandomName() answer1 = util.ctrl.salty(answer1) answer2 = util.ctrl.salty(answer2) if answer2 else None if not tip: tip = None # check conflicts if len(User.objects.filter(username=username)) != 0: return errMsg(_("用户名 '{}' 已存在!").format(username)) if len(User.objects.filter(nickname=nickname)) != 0: return errMsg(_("昵称 '{}' 已存在!").format(nickname)) if len(User.objects.filter(email=email)) != 0: return errMsg(_("邮箱 '{}' 已存在!").format(email)) # check literally if " " in username: return errMsg(_("用户名 '{}' 只应包含数字、字母、和英文句号!").format(username)) if " " in nickname: return errMsg(_("昵称 '{}' 只应包含字母和汉字!").format(nickname)) # create into db user = User(username=username, question=question, answer1=answer1, answer2=answer2, tip=tip, nickname=nickname, email=email) user.save() # add betauser badge user.setUserpermission('betauser', True) # add exp util.userexp.addExp(user, 'user', 1, _('注册成功')) # render return util.ctrl.infoMsg( _(" {user.username} 注册成功!\n您是网站第 {user.id} 位用户。\n请登入以便我们记住您!").format( user=user), url='/user/signin', title=_("欢迎加入"))
def userHeadimgUpdate(request): '''点击修改头像后处理更换头像''' user = util.user.getCurrentUser(request) if not user: return util.artist.loginToContinue(request) headimg = request.FILES.get('headimg') user.headimg = headimg user.save() messages.success(request, '修改头像成功') return redirect('/user/profile')
def userNewUser(request): # POST '''新用户点击提交注册按钮后''' username = request.POST.get('username') question = request.POST.get('question') answer1 = request.POST.get('answer1') answer2 = request.POST.get('answer2') tip = request.POST.get('tip') nickname = request.POST.get('nickname') email = request.POST.get('email') # check musts if not username: return util.ctrl.infoMsg("“用户名” 不能为空", title="注册失败") if not question: return util.ctrl.infoMsg("“问题” 不能为空", title="注册失败") if not answer1: return util.ctrl.infoMsg("“答案” 不能为空", title="注册失败") if not email: return util.ctrl.infoMsg("“邮箱” 不能为空", title="注册失败") # auto fills if not nickname: nickname = getRandomName() answer1 = util.ctrl.salty(answer1) answer2 = util.ctrl.salty(answer2) if answer2 else None if not tip: tip = None # check conflicts if len(User.objects.filter(username=username)) != 0: return util.ctrl.infoMsg("用户名 '{username}' 已存在!".format(username=username), title="注册失败") if len(User.objects.filter(nickname=nickname)) != 0: return util.ctrl.infoMsg("昵称 '{nickname}' 已存在!".format(nickname=nickname), title="注册失败") if len(User.objects.filter(email=email)) != 0: return util.ctrl.infoMsg("邮箱 '{email}' 已存在!".format(email=email), title="注册失败") # check literally if " " in username: return util.ctrl.infoMsg("用户名 '{username}' 只应包含数字、字母、和英文句号!".format(username=username), title="注册失败") if " " in nickname: return util.ctrl.infoMsg("昵称 '{nickname}' 只应包含字母和汉字!".format(nickname=nickname), title="注册失败") # create into db user = User(username=username, question=question, answer1=answer1, answer2=answer2, tip=tip, nickname=nickname, email=email) user.save() # add betauser badge user.setUserpermission('betauser', True) # add exp userexp, created = UserExp.objects.get_or_create(userid=user.id, category='user') userexp.addExp(1, '注册成功') # render return util.ctrl.infoMsg(" {user.username} 注册成功!\n您是网站第 {user.id} 位用户。\n请登入以便我们记住您!".format(user=user), url='/user/signin', title="欢迎加入")