Esempio n. 1
0
def register(request):
    if request.session.get('is_login', None):
        return redirect("/index/")
    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']
            if password1 != password2:
                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 = hash_code(password1)
            new_user.email = email
            new_user.sex = sex
            new_user.save()

            code = make_confirm_string(new_user)
            send_email(email, code)

            return redirect('/login/')  #自动跳转到登录页面
    register_form = forms.RegisterForm()
    return render(request, 'login/register.html', locals())
Esempio n. 2
0
def register(request):
    if request.session.get('is_login', None):
        return redirect('/login/index')
    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']
            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())
                models.User.objects.create(name=username,
                                           password=hash_code(password1),
                                           email=email,
                                           sex=sex)
                return redirect('/login/login')
    register_form = forms.RegisterForm()
    return render(request, 'login/register.html', locals())
Esempio n. 3
0
def register(request):
    if request.method == "POST":
        register_form = forms.RegisterForm(request.POST)
        message = "please check the content"
        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']
            if password1 != password2:
                message = "password are different!"
                return render(request, 'register.html', locals())
            else:
                same_name_user = models.User.objects.filter(name=username)
                if same_name_user:
                    message = 'username has been used!'
                    return render(request, 'register.html', locals())
                same_email_user = models.User.objects.filter(email=email)
                if same_email_user:
                    message = 'the address has been registed!'
                    return render(request, 'register.html', locals())

                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, 'register.html', locals())
Esempio n. 4
0
def register(request):
    #先实例化一个RegisterForm的对象,然后使用is_valide()验证数据,再从cleaned_data中获取数据
    if request.session.get('is_login', None):
        # 登录状态不允许注册。你可以修改这条原则!
        return redirect("/index/")
    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']
            sex = register_form.cleaned_data['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())
                # 当一切都OK的情况下,创建新用户

                new_user = models.User()
                new_user.name = username
                new_user.password = password1
                new_user.sex = sex
                new_user.save()
                return redirect('/login/index.html/')  # 自动跳转到登录页面
    register_form = forms.RegisterForm()
    return render(request, 'login/register.html', locals())
Esempio n. 5
0
def register(request):
    if request.session.get('is_login', None):
        return redirect("/index/")
    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']
            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())

                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()
                return redirect('/login/')  # 自动跳转到登录页面
    register_form = forms.RegisterForm()
    return render(request, 'login/register.html', locals())
Esempio n. 6
0
def register(request):
    if request.session.get('is_login', None):
        return redirect("login:index")
    if request.method == "POST":
        register_form = forms.RegisterForm(request.POST)
        message = "请检查填写的内容"
        print(register_form)
        print(1111111)
        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, "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())

                # 把验证通过的注册信息存入数据库
                new_user = models.User()
                new_user.name = username
                # 将注册的密码转为十六进制数据存入到数据库
                new_user.password = diy_method.hash_code(password1)
                new_user.email = email
                new_user.sex = sex
                new_user.save()
                code = diy_method.make_confirm_string(new_user)
                diy_method.send_email(email, code)
                message = "请前往邮箱进行确认!"
                return render(request, "login/confirm.html", locals())
                """
                # 让用户在注册过后跳转到首页不需要再次登录
                user = models.User.objects.get(name=new_user.name)
                # 通过下面的语句,我们往session字典里面写入用户状态和数据
                request.session['is_login'] = True
                request.session['user_id'] = user.id
                request.session['user_name'] = user.name
                return redirect("login:index")
                """

        return render(request, "login/register.html", locals())
    register_form = forms.RegisterForm()
    return render(request, "login/register.html", locals())
Esempio n. 7
0
def register(request):
    if request.session.get('is_login', None):
        # 登录状态不允许注册!
        return redirect("/board/")
    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']
            phone_number = register_form.cleaned_data['phone_number']
            if password1 != password2:  # 判断两次密码是否相同
                message = "两次输入的密码不同!"
                return render(request, 'login/register.html', locals())
            else:
                same_name_user = models.User.objects.filter(username=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())
                same_phone_number = models.User.objects.filter(
                    phone_number=phone_number)
                if same_phone_number:  # 电话号码唯一
                    message = '该电话号码已被注册,请使用其它电话号码!'
                    return render(request, 'login/register.html', locals())
                # 当一切都OK的情况下,创建新用户

                new_user = models.User()
                new_user.username = username
                new_user.password = hash_code(password1)  # 使用加密密码
                new_user.email = email
                new_user.phone_number = phone_number
                new_user.sex = sex
                new_user.save()
                code = make_confirm_string(new_user)
                send_email(email, code, function_code='register')

                message = '请前往注册邮箱,进行邮件确认!'
                return render(request, 'login/confirm.html',
                              locals())  # 跳转到等待邮件确认页面。
        else:  #is not valid
            pass
    else:
        register_form = forms.RegisterForm()
    return render(request, 'login/register.html', locals())
Esempio n. 8
0
def register(request):
    if request.method == 'POST':
        # Get the bound register form
        form = forms.RegisterForm(request.POST)
        # Validate the register form
        if form.is_valid():
            validate_new_password_response = validate_new_password(
                form.cleaned_data['user_password'],
                form.cleaned_data['user_password_again'])
            if not validate_new_password_response['successful']:
                return render(
                    request, 'login/register.html', {
                        'page_error':
                        'The passwords you entered do not match.  Please enter the same password twice.',
                        'form': form
                    })

            new_user = User(
                user_email=form.cleaned_data['user_email'],
                user_password=form.cleaned_data['user_password'],
                user_team_name=form.cleaned_data['user_team_name'],
                user_referring_email=form.cleaned_data['user_referring_email'])
            new_user.user_password = new_user.hash_password()
            try:
                new_user.full_clean()
            except ValidationError as e:
                return render(
                    request, 'login/register.html', {
                        'page_error':
                        'There was a problem during registration.  Try again.',
                        'form': form
                    })
            else:
                new_user.save()
                request.session['user_id'] = new_user.user_id
                return HttpResponseRedirect('/home/')
    else:
        form = forms.RegisterForm()

    registration_locked = False
    week_one = Week.objects.get(week_number=1)
    if week_one.picks_lock < timezone.now():
        registration_locked = True

    # Renders the register form if it's a new request
    return render(request, 'login/register.html', {
        'form': form,
        'registration_locked': registration_locked
    })
Esempio n. 9
0
def register(request):
    if request.session.get('is_login', None):
        return redirect('/index/')

    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, '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())

                # 利用ORM的API,创建一个用户实例,然后保存到数据库内
                new_user = models.User()
                new_user.name = username
                new_user.password = hash_code(password1)  # hash加密
                # new_user.password = password1
                new_user.email = email
                new_user.sex = sex
                new_user.save()

                code = make_confirm_string(new_user)
                send_email(email, code)

                message = '请前往邮箱进行确认!'
                return render(request, 'login/confirm.html', locals())
        else:
            return render(request, 'login/register.html', locals())
    register_form = forms.RegisterForm()
    return render(request, 'login/register.html', locals())
Esempio n. 10
0
def register(request):
    if request.session.get('is_login', None):
        # 登录状态不允许注册。你可以修改这条原则!
        return redirect("/index/")
    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({"password1": password1, "password2": password2})
            if password1 != password2:  # 判断两次密码是否相同
                message = "两次输入的密码不同!"
                return render(request, 'login/register.html', locals())
            else:
                same_name_user = models.User.objects.filter(name=username)
                print("same_name_user:"******"请前往注册邮箱,进行邮件确认!"
                return render(request, 'login/confirm.html', locals())
        else:
            register_form = forms.RegisterForm(request.POST)
            return render(request, 'login/register.html', locals())
    register_form = forms.RegisterForm()
    return render(request, 'login/register.html', locals())
Esempio n. 11
0
def register(request):
    if request.session.get('is_login', None):
        return redirect('user_index')

    if request.method == 'POST':
        reg_form = forms.RegisterForm(request.POST)
        message = '请检查填写的内容!'

        if reg_form.is_valid():
            username_f = reg_form.cleaned_data.get('username')
            email_f = reg_form.cleaned_data.get('email')
            password1 = reg_form.cleaned_data.get('password1')
            password2 = reg_form.cleaned_data.get('password2')

            if password1 != password2:
                message = '两次输入的密码不同!'
                return render(request, 'login/register.html', locals())
            else:
                same_name_user = models.User.objects.filter(
                    username=username_f)
                if same_name_user:
                    message = '用户名已经存在'
                    return render(request, 'login/register.html', locals())
                same_name_user = models.User.objects.filter(email=email_f)
                if same_name_user:
                    message = '邮箱已经存在'
                    return render(request, 'login/register.html', locals())

                new_user = models.User()
                new_user.username = username_f
                new_user.email = email_f
                new_user.password = hash_code(password1)
                new_user.save()  # 保存提交用户信息

                # 增加邮件地址验证 把新注册用户制作出code验证码
                code = make_confirm_string(new_user)
                send_email(email_f, code)

                message = '请前往邮箱进行确认!'
                return render(request, 'login/confirm.html', locals())

        else:
            return render(request, 'login/register.html', locals())

    reg_form = forms.RegisterForm(request.POST)
    return render(request, 'login/register.html', locals())
Esempio n. 12
0
def register(request):
    if request.session.get('is_login', None):
        messages.error(request, "请先退出后再注册!")
        return redirect("/index/")

    if request.method == "POST":
        register_form = forms.RegisterForm(request.POST)
        if not register_form.is_valid():
            messages.error(request, "表单信息有误!")
            return render(request, 'regist.html', locals())

        username = register_form.cleaned_data['username']
        password1 = register_form.cleaned_data['password1']
        password2 = register_form.cleaned_data['password2']
        email = register_form.cleaned_data['email']

        if password1 != password2:  # 两次密码是否相同
            messages.error(request, "两次输入的密码不一致!")
            return render(request, 'regist.html', locals())
        if models.User.objects.filter(name=username).exists():  # 用户名是否唯一
            messages.error(request, "该用户名已注册!")
            return render(request, 'regist.html', locals())
        if models.User.objects.filter(email=email).exists():  # 邮箱地址是否唯一
            messages.error(request, "该邮箱已注册!")
            return render(request, 'regist.html', locals())

        new_user = models.User.objects.create()
        new_user.name = username
        new_user.password = models.gen_md5(password1, username)
        new_user.email = email
        new_user.is_admin = False  # 只能注册普通用户
        new_user.save()

        request.session['is_login'] = True  # 注册后自动登录
        # request.session['is_admin'] = user.is_admin
        request.session['is_admin'] = True
        request.session['username'] = username
        request.session.set_expiry(3600)
        messages.success(request, "注册成功!")
        new_user.last_login_time = new_user.login_time = timezone.now()
        new_user.save()
        return redirect('/index/')

    register_form = forms.RegisterForm()
    return render(request, 'regist.html', locals())
Esempio n. 13
0
def register(request):
    """
	注册
	:param request:
	:return:
	"""
    form = forms.RegisterForm(
    )  #注意,request.POST是前台传过来的,我们能如果在这里加的话,前端页面会展示出为空的错误
    return render(request, 'login/register.html', {"form": form})
Esempio n. 14
0
def register(request):
    if request.session.get('is_login',None):
        return redirect("/autoplat/")
    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']
            if password1 != password2:
                message = "2次输入的密码不一致"
                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())

                current_site = get_current_site(request)
                domain=current_site.domain
                new_user = models.User()
                salt = set_salt()
                new_user.name = username
                new_user.salt = salt
                new_user.password = hash_code(password1, salt)
                new_user.email = email
                new_user.sex = sex
                new_user.save()

                code = make_confirm_string(new_user)
                send_email(email,code,domain,username)

                message = '请前往注册邮箱,进行邮箱确认!'
                return render(request, 'login/confirm.html', locals())
        return render(request, 'login/register.html', locals())
    register_form = forms.RegisterForm()
    return render(request, 'login/register.html', locals())
Esempio n. 15
0
def register(request):
    #登录状态不允许注册
    if request.session.get('is_login', None):
        return redirect('/index/')
    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']
            try:
                same_name = models.User.objects.get(username=username)
            except:
                same_name = False
            try:
                same_email = models.User.objects.get(email_address=email)
            except:
                same_email = False
            if same_name:
                message = "用户名已存在"
                return render(request, 'login/register.html', locals())
            if same_email:
                message = '该邮箱已注册'
                return render(request, 'login/register.html', locals())
            if password1 != password2:
                message = "密码不一致"
                return render(request, 'login/register.html', locals())
            # 一切正常的情况下
            new_user = models.User()
            new_user.username = username
            new_user.password = password1
            new_user.email_address = email
            new_user.save()

            code = make_confirm_string(new_user)
            send_email(email, code)

            message = "注册成功,现在您可以登陆了"
            login_form = forms.UserForm()
            return render(request, "login/login.html", locals())
    register_form = forms.RegisterForm()
    return render(request, 'login/register.html', locals())
Esempio n. 16
0
def register(request):
    #pass
    if request.session.get('is_login', None):
        # 登录状态不允许注册,你可以修改这条原则
        return redirect("/index/")
    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']
            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 = hash_code(password1)
                new_user.email = email
                new_user.sex = sex
                new_user.save()

                code = make_confirm_string(new_user)
                send_mail(email, code)
                message = "请前往注册邮箱, 进行邮箱确认"

                return render(request, "login/confirm.html",
                              locals())  #自动跳转到登录页面
    register_form = forms.RegisterForm()
    return render(request, 'login/register.html', locals())
Esempio n. 17
0
def register(request):
    if request.session.get('is_login', None):
        # return redirect("/index/")
        return redirect(reverse('index'))
    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']
            if password1 != password2:  # 判断两次密码输入的是不是一样
                message = "两次输入的密码不同"
                return render(request, 'login/register.html', {'message': message, "register_form": register_form})
            else:
                same_name_user = models.User.objects.filter(nick_name=username)
                if same_name_user:  # 用户名唯一
                    message = '用户已经存在,请重新选择用户名!'
                    return render(request, 'login/register.html', {'message': message, "register_form": register_form})
                same_email_user = models.User.objects.filter(email=email)
                if same_email_user:  # 邮箱唯一
                    message = '该邮箱地址已被注册,请使用别的邮箱!'
                    return render(request, 'login/register.html', {'message': message, "register_form": register_form})

                # 看起来数据符合我们的要求了,下面创建用户
                new_user = models.User()
                new_user.nick_name = username
                new_user.password = hash_code(password1)  # 或者password2
                new_user.email = email
                new_user.sex = sex
                new_user.save()

                #发送激活验证码到邮箱
                send_verify_code(email)

                message = '请前往注册邮箱,进行邮件确认!'
                # return redirect("/login/", {"message": message})
                # return redirect(reverse("login"))  # 跳转到登录页面
                return render(request, 'login/active.html', {"message": message})  # 跳转到等待邮件确认页面。
    register_form = forms.RegisterForm()
    return render(request, 'login/register.html', {"register_form": register_form})
Esempio n. 18
0
def register(request):
    if request.session.get('is_login', None):
        return redirect("/index")
    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']
            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 redirect('/login')

                new_user = models.User()
                new_user.name = username
                new_user.password = common.hash_code(password1)
                new_user.email = email
                new_user.sex = sex
                new_user.save()

                code = common.make_confirm_string(new_user)
                common.send_email(email, code)

                message = "请前往注册邮箱,进行邮箱确认!"
                return render(request, 'login/confirm.html', locals())

    register_form = forms.RegisterForm()

    return render(request, 'login/register.html', locals())
Esempio n. 19
0
def register(request):
    if request.session.get('is_login', None):
        return redirect('/index/')

    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']
            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())


            new_user = models.User()
            new_user.name = username
            new_user.password = hash_code(password2)
            new_user.email = email
            new_user.sex = sex
            new_user.save()

            code = make_confirm_string(new_user)
            send_email(email, code)

            message = '请前往注册邮箱,进行确认!'

            return render(request, 'login/confirm.html', locals())
    register_form = forms.RegisterForm()
    return render(request, 'login/register.html', locals())
Esempio n. 20
0
def register(request):
    if request.session.get('is_login', None):
        return redirect(reverse('login:index'))

    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, 'login/register.html', locals())
            else:
                same_name_user = User.objects.filter(name=username)
                if same_name_user:
                    message = '用户名已存在'
                    return render(request, 'login/register.html', locals())
                same_email_user = User.objects.filter(email=email)
                if same_email_user:
                    message = '该邮箱已经注册'
                    return render(request, 'login/register.html', locals())
                new_user = User()
                new_user.name = username
                new_user.password = hash_code(password1)
                new_user.email = email
                new_user.sex = sex
                new_user.save()
                # return redirect('/login/')
                code = make_confirm_string(new_user)
                send_email(email, code)
                message = '请前往邮箱确认'
                return render(request, 'login/confirm.html', locals())
        else:
            return render(request, 'login/register.html', locals())
    register_form = forms.RegisterForm()
    return render(request, 'login/register.html', locals())
Esempio n. 21
0
def register(request):
    if request.session.get('is_login', None):
        return redirect('/index/')

    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')
            address = register_form.cleaned_data.get('address')

            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())

                new_user = models.User()
                new_user.name = username
                new_user.password = password1
                new_user.email = email
                new_user.sex = sex
                new_user.address = address
                new_user.save()

                return redirect('/login/')
        else:
            return render(request, 'login/register.html', locals())
    register_form = forms.RegisterForm()
    return render(request, 'login/register.html')
Esempio n. 22
0
def register(request):
    if request.session.get('is_login', None): # 已经登录的不能注册
        return redirect('/index/')

    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']
            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())

                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()

                code = make_confirm_string(new_user)
                send_email(email, code)
                message = '请前往注册邮箱,点击链接进行邮件确认。'
                return render(request, 'login/confirm.html', locals()) # 显示邮件确认页面
    # GET方式时
    register_form = forms.RegisterForm()
    return render(request, 'login/register.html', locals())
Esempio n. 23
0
def register(request):
    if request.session.get('is_login', None):
        return redirect('/index/')
    if request.method == 'POST':
        register_form = forms.RegisterForm(request.POST)
        message = '请检查您输入的内容'
        if register_form.is_valid():
            username = register_form.cleaned_data['username']
            password = register_form.cleaned_data['password1']
            password1 = register_form.cleaned_data['password2']
            email = register_form.cleaned_data['email']
            sex = register_form.cleaned_data['sex']
            if password != password1:
                message = '二次密码不一样,请重新输入'
                return render(request, 'login/register.html', locals())
            else:
                try:
                    same_user_name = models.User.objects.get(name=username)
                except:
                    same_user_name = False
                if same_user_name:
                    message = '用户名已存在'
                    return render(request, 'login/register.html', locals())
                try:
                    same_email_name = models.User.objects.get(email=email)
                except:
                    same_email_name = False
                if same_email_name:
                    message = '邮箱以被注册'
                    return render(request, 'login/register.html', locals())
                new_user = models.User()
                new_user.name = username
                new_user.password = hash_cold(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())
Esempio n. 24
0
def register(request):
    if request.session.get('is_login', None):
        return redirect('/index/')
    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']
            gender = register_form.cleaned_data['gender']
            if password1 != password2:
                message = '两次输入密码不同'
                return render(request, 'login/register.html', locals())
            else:
                same_name = models.User.objects.filter(name=username)
                if same_name:
                    message = "用户已存在,请更换用户名"
                    return render(request, 'login/register.html', locals())
                same_email = models.User.objects.filter(email=email)
                if same_email:
                    message = "邮箱已经注册过"
                    return render(request, 'login/register.html', locals())

                new_user = models.User.objects.create()
                new_user.name = username
                new_user.password = hash_code(password1)
                new_user.email = email
                new_user.gender = gender
                new_user.save()

                code = make_confirm_string(new_user)
                # send_email(email, code)

                message = '请立即前往邮箱, 进行邮件确认,没有收到邮件?'
                return render(request, 'login/register.html', locals())
    register_form = forms.RegisterForm()
    return render(request, 'login/register.html')
Esempio n. 25
0
def register(request):
    if request.session.get('is_login', None):
        return redirect("/index/")
    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']

            if password1 != password2:
                message = "两次输入的密码不一致"
                return render(request, 'login/register.html', locals())
            else:
                same_name_user = models.User.objects.filter(username=username)
                if same_name_user:
                    message = "该用户名已存在"
                    return render(request, 'login/register.html', locals())

                same_email = models.User.objects.filter(email=email)
                if same_email:
                    message = "该邮箱已被注册"
                    return render(request, 'login/register.html', locals())

                new_user = models.User()
                new_user.username = username
                new_user.password = hash_code(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())
Esempio n. 26
0
def register(request):
    if request.session.get('is_login', None):
        #登陆状态不允许注册
        return redirect("/index/")
    if request.method == "POST":
        register_form = forms.RegisterForm(request.POST)
        print(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']
            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())
                #条件满足创建用户
                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())
Esempio n. 27
0
def add_register(request):
    """
	处理注册提交的数据,保存到数据库
	:param request:
	:return:
	"""
    form = forms.RegisterForm(request.POST)
    if form.is_valid():
        data = form.cleaned_data
        print(data)
        #清洗数据
        data.pop("re_password")
        data['password'] = hash_pwd.has_password(data.get('password'))
        #添加必要数据
        data['is_active'] = 1
        #格式化储存
        models.UserInfo.objects.create(**data)
        return redirect('login')
    else:
        #把前端提交的包含错误信息的对象返回到前端页面
        return render(request, 'login/register.html', {"form": form})
Esempio n. 28
0
def register(request):
    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']
            pet_type = register_form.cleaned_data['pet_type']
            intro = register_form.cleaned_data['intro']

            if password1 != password2:
                message = "两次输入的密码不同"
                hashkey = CaptchaStore.generate_key()
                image_url = captcha_image_url(hashkey)
                return render(request, 'login/register.html', locals())
            elif len(password1) < 6 or len(password1) > 12:
                message = "密码长度在6-12个字符间"
                hashkey = CaptchaStore.generate_key()
                image_url = captcha_image_url(hashkey)
                return render(request, 'login/register.html', locals())
            elif len(username) > 15 or len(username) < 2:
                message = "用户名长度必须在2-15字符间"
                hashkey = CaptchaStore.generate_key()
                image_url = captcha_image_url(hashkey)
                return render(request, 'login/register.html', locals())
            else:
                same_name_user = models.User.objects.filter(name=username)
                #如果用户名存在
                if same_name_user:
                    message = "用户名已存在,请重新输入"
                    hashkey = CaptchaStore.generate_key()
                    image_url = captcha_image_url(hashkey)
                    return render(request, 'login/register.html', locals())
                same_email_user = models.User.objects.filter(email=email)
                #如果邮箱存在
                if same_email_user:
                    message = "邮箱已被注册,请换一个邮箱注册"
                    hashkey = CaptchaStore.generate_key()
                    image_url = captcha_image_url(hashkey)
                    return render(request, 'login/register.html', locals())
                try:
                    #一切都ok时
                    new_user = models.User()
                    new_user.name = username
                    #使用加密密码
                    new_user.password = hash_code(password1)
                    new_user.email = email
                    new_user.sex = sex
                    new_user.pet_type = pet_type
                    new_user.intro = intro
                    #先保存除头像外的数据
                    new_user.save()
                except Exception as e:
                    print('保存新用户数据失败:', e)
                else:
                    print('保存除头像外的新用户数据成功!')

                #查询新用户在数据库中id是多少
                new_id = new_user.id

                #保存默认头像 传入新用户id
                save_default_photo(new_id, new_user)

                #认证注册邮箱
                code = make_confirm_string(new_user, 'ConfirmString')
                try:
                    send_email(email, code, 'register')
                except Exception as e:
                    message = "邮件发送失败,请联网或换一个邮箱重新注册"
                    print('注册拦截异常')
                    #删除数据库中才保存的信息
                    models.User.objects.filter(name=username).delete()
                    #返回注册界面
                    hashkey = CaptchaStore.generate_key()
                    image_url = captcha_image_url(hashkey)

                    return render(request, 'login/register.html', locals())
                message = "请前往注册邮箱,进行邮箱认证~"
                #跳转到等待邮件确认页面
                return render(request, 'login/confirm.html', locals())
        #如果验证不成功
        hashkey = CaptchaStore.generate_key()
        image_url = captcha_image_url(hashkey)
        return render(request, 'login/register.html', locals())

    register_form = forms.RegisterForm()
    hashkey = CaptchaStore.generate_key()
    image_url = captcha_image_url(hashkey)
    return render(request, 'login/register.html', locals())
Esempio n. 29
0
def register(request):
    register_form_mandatory = [
        "username",
        "password1",
        "password2",
        "first_name",
        "last_name",
        "email",
        "phone",
        "univ",
        "major",
    ]

    if request.session.get('is_login', None):
        return redirect('/index/')

    if request.method == 'POST':
        register_form = forms.RegisterForm(request.POST)
        message = "Please check your input"
        if register_form.is_valid():
            username = register_form.cleaned_data.get('username')
            first_name = register_form.cleaned_data.get('last_name')
            last_name = register_form.cleaned_data.get('first_name')
            password1 = register_form.cleaned_data.get('password1')
            password2 = register_form.cleaned_data.get('password2')
            email = register_form.cleaned_data.get('email')
            phone = register_form.cleaned_data.get('phone')
            univ = register_form.cleaned_data.get('univ')
            major = register_form.cleaned_data.get('major')
            classchoice1 = register_form.cleaned_data.get('classchoice1')
            classchoice2 = register_form.cleaned_data.get('classchoice2')
            classchoice3 = register_form.cleaned_data.get('classchoice3')
            classchoice4 = register_form.cleaned_data.get('classchoice4')
            year_in_school = register_form.cleaned_data.get('year_in_school')
            gender = register_form.cleaned_data.get('gender')

            if password1 != password2:
                message = 'Passwords do not match!'
                return render(request, 'login/register.html', locals())
            else:
                same_name_user = models.User.objects.filter(name=username)
                if same_name_user:
                    message = 'Username already exists!'
                    return render(request, 'login/register.html', locals())
                same_email_user = models.User.objects.filter(email=email)
                if same_email_user:
                    message = 'Email account already in use!'
                    return render(request, 'login/register.html', locals())

                new_user = models.User()
                new_user.name = username
                new_user.first_name = first_name
                new_user.last_name = last_name
                new_user.password = hash_code(password1)
                new_user.email = email
                new_user.phone = phone
                new_user.univ = univ
                new_user.major = major
                new_user.year_in_school = year_in_school
                new_user.classchoice1 = classchoice1
                new_user.classchoice2 = classchoice2
                new_user.classchoice3 = classchoice3
                new_user.classchoice4 = classchoice4
                new_user.gender = gender
                new_user.save()
                return redirect('/login/')
        else:
            print("not valid")
            return render(request, 'login/register.html', locals())
    register_form = forms.RegisterForm()
    return render(request, 'login/register.html', locals())