def register(request): if request.method == "POST": msg = handler.BaseResponse() form = forms.RegisterForm(request.POST) if form.is_valid(): _reg_values = form.cleaned_data current_time = datetime.datetime.now() c = models.SendMsg.objects.filter(last_time__gt=(current_time - datetime.timedelta(minutes=1))).count() if not c: msg.status = False msg.errors = {"verification_code":[{"message":"你的验证码已经失效"}]} return HttpResponse(json.dumps(msg.__dict__)) else: u_c = models.UserInfo.objects.filter(Q(user=_reg_values["user"])|Q(email=_reg_values["email"])) if u_c: msg.status = False msg.summary = "用户名或者邮箱已经注册过" return HttpResponse(json.dumps(msg.__dict__)) else: _reg_values.pop("verification_code") models.UserInfo.objects.create(**_reg_values) models.SendMsg.objects.filter(email=_reg_values["email"]).delete() request.session["is_login"] = True request.session["user"] = _reg_values rep = HttpResponse(json.dumps(msg.__dict__)) rep.set_cookie("user",_reg_values["user"]) return rep else: msg.status = False msg.errors = json.loads(form.errors.as_json()) return HttpResponse(json.dumps(msg.__dict__))
def register(request): """ 注册视图 :param request: :return: """ if request.session.get('is_login', None): return redirect('/showbooks/') if request.method == 'POST': register_form = forms.RegisterForm(request.POST) message = "请检查填写的内容!" if register_form.is_valid(): username = register_form.cleaned_data.get('username') password1 = register_form.cleaned_data.get('password1') password2 = register_form.cleaned_data.get('password2') email = register_form.cleaned_data.get('email') sex = register_form.cleaned_data.get('sex') if password1 != password2: message = '两次输入的密码不同!' return render(request, 'register.html', locals()) else: same_name_user = models.User.objects.filter(name=username) if same_name_user: message = '用户名已经存在' return render(request, 'register.html', locals()) same_email_user = models.User.objects.filter(email=email) if same_email_user: message = '该邮箱已经被注册了!' return render(request, 'register.html', locals()) new_user = models.User() new_user.name = username new_user.password = hash_code(password1) new_user.email = email new_user.sex = sex new_user.save() else: return render(request, 'register.html', locals()) register_form = forms.RegisterForm() return render(request, 'register.html', locals())
def register(request): if request.session.get('is_login', None): # 登录状态不允许注册。你可以修改这条原则! return redirect("/login/") if request.method == "POST": register_form = forms.RegisterForm(request.POST) message = "请检查填写的内容!" if register_form.is_valid(): # 获取数据 username = register_form.cleaned_data['username'] password1 = register_form.cleaned_data['password1'] password2 = register_form.cleaned_data['password2'] email = register_form.cleaned_data['email'] # sex = register_form.cleaned_data['sex'] # print(sex) if password1 != password2: # 判断两次密码是否相同 message = "两次输入的密码不同!" return render(request, 'login/register.html', locals()) else: same_name_user = models.User.objects.filter(name=username) if same_name_user: # 用户名唯一 message = '用户已经存在,请重新选择用户名!' return render(request, 'login/register.html', locals()) same_email_user = models.User.objects.filter(email=email) if same_email_user: # 邮箱地址唯一 message = '该邮箱地址已被注册,请使用别的邮箱!' return render(request, 'login/register.html', locals()) # 当一切都OK的情况下,创建新用户 new_user = models.User() new_user.name = username new_user.password = password1 new_user.email = email # new_user.sex = sex new_user.save() return redirect('/login/') # 自动跳转到登录页面 register_form = forms.RegisterForm() return render(request, 'login/register.html', locals())
def register(request): try: msg = '' if request.method == "POST": form = forms.RegisterForm(request.POST) if form.is_valid(): # 验证成功后将用户信息写入数据库 username = request.POST.get('username') nickname = request.POST.get('nickname') passwd = request.POST.get('passwd') # 查询用户是否已存在 isExist = models.UserInfo.objects.filter(username=username).first() # 去数据库里查询用户是否存在 if isExist: form = forms.RegisterForm(request.POST) msg = '用户名已存在,请重新输入!' else: with transaction.atomic(): # 事物,原子性操作 models.UserInfo.objects.create(username=username, nickname=nickname, password=md5_encryption(username + passwd)) return redirect('/') else: # GET form = forms.RegisterForm() return render(request, 'register.html', {'form': form, 'msg': msg}) except Exception as e: return HttpResponse("错误信息:" + str(e))
def register(request): '''注册''' if request.method == 'POST': my_response = BaseReponse() obj = forms.RegisterForm(request.POST) if obj.is_valid(): pwd = make_md5(request.POST.get('password')) UserInfo.objects.create(username=request.POST.get('username'), password=pwd, email=request.POST.get('email')) my_response.status = True return HttpResponse( json.dumps(my_response.__dict__, ensure_ascii=False)) else: my_response.error = obj.errors return HttpResponse( json.dumps(my_response.__dict__, ensure_ascii=False)) else: return render(request, 'register.html')
def index(request): if request.method == "GET": obj = forms.LoginForm() obj2 = forms.RegisterForm() obj3 = forms.RegisterEmail() return render(request, "index.html", {"obj":obj,"obj2":obj2,"obj3":obj3})