示例#1
0
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__))
示例#2
0
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())
示例#3
0
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())
示例#4
0
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))
示例#5
0
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')
示例#6
0
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})