예제 #1
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())
예제 #2
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())
예제 #3
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())
예제 #4
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())
예제 #5
0
 def post(self, username, email, password, *args, **kwargs):
     """Register task
     """
     user = models.User.find_by([("email", email)], find_one=True)
     if user:
         raise exceptions.ActionError("User existed")
     user = models.User(username, email, password)
     user.save()
     return {"message": "success"}
예제 #6
0
def user_create():
    user = login_models.User(
        username=request.form.get('username'),
        password=utils.hash_password(request.form.get('password')),
        role_id=request.form.get('role_id'),
    )
    db.session.add(user)
    db.session.commit()
    return jsonify(user.serialize()), 201
예제 #7
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())
예제 #8
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())
예제 #9
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())
예제 #10
0
파일: views.py 프로젝트: Drewolf/mysite3333
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())
예제 #11
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())

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

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

    register_form = forms.RegisterForm()
    return render(request, 'login/register.html', locals())
예제 #12
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())
예제 #13
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())
예제 #14
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})
예제 #15
0
파일: views.py 프로젝트: mrpingan/mysite
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())
예제 #16
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())
예제 #17
0
파일: views.py 프로젝트: micheltsai/testpbl
def register(request):
    if request.session.get('is_login', None):
        return redirect('/index/')

    if request.method == 'POST':
        register_form = form.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')
            identify = register_form.cleaned_data.get('identify')
            c_name = register_form.cleaned_data.get('c_name')
            if password1 != password2:
                message = '两次输入的密码不同!'
                return render(request, 'register_base.html', locals())
            else:
                same_name_user = models.User.objects.filter(name=username)
                if same_name_user:
                    message = '用户名已经存在'
                    return render(request, 'register_base.html', locals())
                same_email_user = models.User.objects.filter(email=email)
                if same_email_user:
                    message = 'email已存在!'
                    return render(request, 'register_base.html', locals())

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

                return redirect('login')
        else:
            return render(request, 'register_base.html', locals())
    register_form = form.RegisterForm()
    return render(request, 'register_base.html', locals())
예제 #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.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')
예제 #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(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())
예제 #20
0
파일: views.py 프로젝트: 18370652038/books
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())
예제 #21
0
def signup(request):

    context = {}
    context['message'] = ''

    if request.method == 'POST':

        user_email = request.POST['email']
        user_password = request.POST['password']

        subscribers = models.User.objects.filter(
            email__exact=user_email).filter(password__exact=user_password)

        if subscribers.count() == 1:
            context['message'] = 'You are already registered please sign in!'
        else:
            user = models.User(email=user_email, password=user_password)
            user.save()
            context['message'] = 'You are successfully registered now !'
    else:
        pass

    return render(request, 'login/signup.html/', context)
예제 #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(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())
예제 #23
0
파일: views.py 프로젝트: vs-joe/mysite
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())
예제 #24
0
from app import db
from login import models
import utils

if __name__ == '__main__':
    db.create_all()

    full_access_role = models.Role(name='full_access', )

    readonly_role = models.Role(name='readonly', )

    first_user = models.User(
        username='******',
        password=utils.hash_password('admin'),
        role=full_access_role,
    )

    db.session.add(full_access_role)
    db.session.add(readonly_role)
    db.session.add(first_user)
    db.session.commit()
예제 #25
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())
예제 #26
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())