예제 #1
0
파일: views.py 프로젝트: gl5212008/bbs
 def post(self, request):
     res = {"code": 0}
     print(request.POST)
     # 先进行验证码的校验
     v_code = request.POST.get("v_code", "")
     if v_code.upper() == request.session.get("v_code"):
         # 验证码正确
         form_obj = RegisterForm(request.POST)
         # 使用form做校验
         if form_obj.is_valid():
             # 数据有效
             # 1. 注册用户
             print(form_obj.cleaned_data)
             # 注意移除不需要的re_password
             form_obj.cleaned_data.pop("re_password")
             # 拿到用户上传的头像文件
             avatar_file = request.FILES.get("avatar")
             models.UserInfo.objects.create_user(**form_obj.cleaned_data, avatar=avatar_file)
             # 登录成功之后跳转到登录页面
             res["msg"] = '/login/'
         else:
             # 用户填写的数据不正经
             res["code"] = 1
             res["msg"] = form_obj.errors  # 拿到所有字段的错误提示信息
     else:
         res["code"] = 2
         res["msg"] = '验证码错误'
     return JsonResponse(res)
예제 #2
0
def sign_up_ajax_check(request):
    # 1. 获取post内容
    print('sign up')
    print(request.POST)
    vcode = request.POST.get('vcode')
    vcode_session = request.session.get('verifycode')
    # url_before = request.POST.get("url_before")
    form = RegisterForm(request.POST, request.FILES)
    # 2. 验证
    if vcode != vcode_session:
        return JsonResponse({
            'msg': 'fail_verify',
            'error': {
                'verify_code': '验证码错误'
            }
        })
    else:
        if form.is_valid():
            new_user = form.clean()
            del new_user['password_again']
            print(new_user)
            new_user = User.objects.create_user(**new_user)
            print(new_user)
            # new_user.set_password(form.cleaned_data['password'])
            print(request.META['HTTP_REFERER'])
            # return redirect(reverse('auth:login'))
            return JsonResponse({'msg': 'ok', 'url': reverse('auth:login')})
        else:
            print('form.errors')
            print(form.errors)
            return JsonResponse({'msg': 'error', 'error': form.errors})
예제 #3
0
def register(request):
    if request.is_ajax():
        form_obj = RegisterForm(request, request.POST)

        register_response = {'status': None, 'errors': None}
        if form_obj.is_valid():
            data = form_obj.cleaned_data
            username = data.get('username')
            password = data.get('password')
            email = data.get('email')
            phone = data.get('phone')

            user = UserInfo.objects.create_user(username=username,
                                                password=password,
                                                email=email,
                                                telephone=phone)

            register_response['status'] = True

        else:
            print('验证失败', form_obj.errors)
            register_response['status'] = False
            register_response['errors'] = form_obj.errors

        return JsonResponse(register_response)

    register_form = RegisterForm(request)
    return render(request, 'blog/register.html', locals())
예제 #4
0
def register():
    form = RegisterForm()
    if form.validate_on_submit():
        flash(f'Account created successfully for {form.username.data}',
              'success')
        return redirect(url_for('home'))
    return render_template('register.html', title='Register', form=form)
예제 #5
0
def register(request):
    '''
    注册
    :param request:
    :return:
    '''
    if request.method == "GET":
        form = RegisterForm ()
        return render (request,'register.html',{"form":form})
    elif request.is_ajax ():

        form = RegisterForm (request.POST)
        registerResponse = {"user":None,"error_list":None}
        # print(type(form))
        if form.is_valid ():

            email = form.cleaned_data.get ("email")
            telephone = form.cleaned_data.get ("telephone")
            username = form.cleaned_data.get ("username")
            nick_name = form.cleaned_data.get ("nick_name")
            password = form.cleaned_data.get ("password")
            avatar_img = request.FILES.get ("avatar_img")

            models.UserInfo.objects.create_user (email = email,telephone = telephone,username = username,
                                                 nick_name = nick_name,password = md5(password),avatar = avatar_img)
            registerResponse ["user"] = form.cleaned_data.get ("username")

        else:
            registerResponse ["error_list"] = form.errors
        return HttpResponse (json.dumps (registerResponse))
예제 #6
0
def register(request):
    if request.is_ajax():
        register_form = RegisterForm(request.POST)

        reg_response = {"user": None, "error_msg": None}
        if register_form.is_valid():
            user = register_form.cleaned_data.get("user")
            pwd = register_form.cleaned_data.get("pwd")
            email = register_form.cleaned_data.get("email")
            avatar_obj = request.FILES.get("avatar")  # 图片对象
            if avatar_obj:
                user_obj = UserInfo.objects.create_user(username=user,
                                                        password=pwd,
                                                        email=email,
                                                        avatar=avatar_obj)
            else:
                user_obj = UserInfo.objects.create_user(username=user,
                                                        password=pwd,
                                                        email=email)

            reg_response["user"] = user_obj.username
        else:
            reg_response["error_msg"] = register_form.errors
        import json
        return HttpResponse(json.dumps(reg_response))

    register_form = RegisterForm()
    return render(request, "register.html", {"register_form": register_form})
 def test_register_form_is_valid(self):
     post_data = {
         'username': '******', 'email': '*****@*****.**',
         'password1': 'A1B2C34G56LZ',
         'password2': 'A1B2C34G56LZ',
     }
     form = RegisterForm(data=post_data)
     self.assertTrue(form.is_valid())
예제 #8
0
 def post(self, request):
     if request.user.is_authenticated:
         return redirect('index')
     form = RegisterForm(request.POST, request.FILES)
     if form.is_valid():
         user = form.save()
         auth.login(request, user)
         return redirect('index')
     return render(request, 'blog/register.html', context={'form': form})
예제 #9
0
def form(request):
    if request.method == "POST":
        print(dict(request.POST))
        register_form = RegisterForm(request.POST)
        if register_form.is_valid():
            return HttpResponse("登录成功")
        return HttpResponse("登录失败,请重新登录!")

    register_form = RegisterForm()
    return render(request, 'blog/form.html', {"register_form": register_form})
예제 #10
0
 def post(self, request):
     """注册表单提交处理,验证成功后添加记录跳转到注册成功页面,否则回到注册页面显示错误"""
     register_form = RegisterForm(request.POST)
     if register_form.is_valid():
         data = register_form.cleaned_data
         name = data.get('name')
         password = data.get('password')
         User.objects.create(name=name, password=make_password(password))
         return render(request, 'register_success.html')
     else:
         return render(request, 'register.html', {'form': register_form})
예제 #11
0
def register_view(request, *args, **kwargs):
    if request.method == 'POST':
        form = RegisterForm(request.POST)
        try:
            if form.is_valid():
                user = register_user(form.cleaned_data)
                return redirect('blog:login')
        except Exception as e:
            errors = "User already exists"
    else:
        form = RegisterForm()
    return render(request, 'register.html', locals())
예제 #12
0
def register():
    if current_user.is_authenticated:
        redirect(url_for('index'))
    form = RegisterForm()
    if form.validate_on_submit():
        user = User(username=form.username.data, email=form.email.data)
        user.set_password(form.password.data)
        db.session.add(user)
        db.session.commit()
        flash('Congratulations, you successfully registered!', 'success')
        return redirect(url_for('index'))
    form = RegisterForm()
    return render_template('register.html', title='Registration', form=form)
예제 #13
0
def register_page(request):
    form = RegisterForm(request.POST or None)
    context = {"form": form}
    if form.is_valid():
        print(form.cleaned_data)
        # get cleaned data from form and pass it into the create user method of User.objects
        username = form.cleaned_data['username']
        password = form.cleaned_data['password']
        email = form.cleaned_data['email']

        # new_user = User.objects.create_user(username, email, password)
        # print(new_user)
    return render(request, "auth/register.html", context)
예제 #14
0
def register():
    form = RegisterForm()
    title = "REGİSTER"
    if form.validate_on_submit():
        username = form.username.data
        email = form.email.data
        password = form.password.data
        hash_pass = generate_password_hash(password)
        user = User(username=username, email=email, password=hash_pass)
        db.session.add(user)
        db.session.commit()
        flash("The account existed for {}".format(username), "success")
        return redirect(url_for("login"))
    return render_template("public/register.html", title=title, form=form)
예제 #15
0
def register_form_view(request):
    #print(request.method)
    if request.method == "GET":
        form = RegisterForm()
        return render(request, "blog/register.html", context = {"form":form})
    else:
        print(request.POST)
        form = RegisterForm(request.POST)
        if form.is_valid():
            print(form.cleaned_data)
            return render(request,"blog/thanks.html")
        else:
            print(form.errors)
            return render(request, "blog/register.html", context = {"form":form})
예제 #16
0
def register(request):
    context = {}
    if request.method == 'GET':
        form = RegisterForm()
        context['form'] = form
    if request.method == 'POST':
        form = RegisterForm(request.POST)

        if form.is_valid():
            username = form.cleaned_data['name']
            email = form.cleaned_data['email']
            if User.objects.filter(username=username) or User.objects.filter(
                    email=email):
                form = RegisterForm()
                form.errors['注意:'] = (u"用户已存在,请更换用户名或邮箱注册")
            else:
                user = User()
                user.username = username
                user.email = email
                user.set_password(form.cleaned_data['password'])
                user.save()
                p = UserProfile(belong_to=user)
                p.name = username
                p.email = email
                p.save()
                return redirect(to='login')
        context['form'] = form
    return render(request, "register.html", context)
예제 #17
0
 def post(self, request):
     form = RegisterForm(request.POST, request.FILES)
     # 2. 验证
     print('errors1', form.errors)
     if form.is_valid():
         new_user = form.clean()
         del new_user['password_again']
         print(new_user)
         new_user = User.objects.create_user(**new_user)
         print(new_user)
         # new_user.set_password(form.cleaned_data['password'])
         print(request.META['HTTP_REFERER'])
         return redirect(reverse('auth:login'))
     print(form.errors)
     return render(request, 'register2.html', {'form': form})
예제 #18
0
파일: views.py 프로젝트: kelto/django-init
def register(request):
    if request.method == 'POST':
        form = RegisterForm(request.POST)

        if form.is_valid():
            user = form.save()
            timelapse = datetime.today() + timedelta(2)
            salt = sha.new(str(random.random())).hexdigest()[:5]
            key= sha.new(salt+user.username).hexdigest()
            profile = UserProfile(user=user,key_expires=timelapse,activation_key=key)
            profile.save()
            send_confirmation(user.email,key)
            return redirect("blog.views.home")
    form = RegisterForm()
    return render(request, 'blog/register.html', {'form': form})
예제 #19
0
def register():
    if current_user.is_authenticated:
        return redirect(url_for('home'))
    form = RegisterForm()
    if form.validate_on_submit():
        hashed_password = bcrypt.generate_password_hash(
            form.password.data).decode('utf-8')
        user = User(username=form.username.data,
                    email=form.email.data,
                    password=hashed_password)
        db.session.add(user)
        db.session.commit()
        flash(f'Created account for user {form.username.data}!', 'success')
        return redirect(url_for('login'))
    return render_template("register.html", title="Register", form=form)
예제 #20
0
def register():
    if current_user.is_authenticated:
        return redirect(url_for("index"))
    form = RegisterForm()
    if form.validate_on_submit():
        hashpass = bcrypt.generate_password_hash(
            form.password.data).decode("utf-8")
        user = User(username=form.username.data,
                    email=form.email.data,
                    password=hashpass)
        db.session.add(user)
        db.session.commit()
        flash("You are successfully registered..", "success")
        return redirect(url_for("login"))
    return render_template("register.html", title="Register", form=form)
예제 #21
0
def register(request):
    categories = Category.objects.all()
    if request.method == 'POST':
        form = RegisterForm(data=request.POST)
        if form.is_valid():
            form.save()
            return redirect('/login')
        else:
            return render(request,
                          'register.html',
                          context={'form': RegisterForm})

    data = {'categories': categories, 'form': RegisterForm}

    return render(request, 'register.html', context=data)
예제 #22
0
파일: views.py 프로젝트: krsign/cms-blog
def register_form_view(request):
    if request.method == 'GET':
        form = RegisterForm()
        return render(request, 'blog/register.html', context={'form': form})

    else:
        print(request.POST)
        form = RegisterForm(request.POST)
        if form.is_valid():
            print(form.changed_data)
            return render(request, 'blog/thankyou.html')
        else:
            print(form.errors)
            return render(request,
                          'blog/register.html',
                          context={'form': form})
예제 #23
0
파일: views.py 프로젝트: mcrisan/blog
def register():
    form = RegisterForm()
    if request.method == 'GET':
        return render_template('register.html', form=form)
    if form.validate_on_submit():
        role = Role.query.filter(Role.name=="User").first()
        user = user_datastore.create_user(username=form.user.username, email=form.user.email, 
                                          password=form.user.password)
        user_datastore.add_role_to_user(user, role)
        try:
            db.session.commit()
        except:
            flash('User or email already exists')
            return redirect(url_for('main.register'))
        return redirect(url_for('main.user_login'))
    return render_template('register.html', form=form)
예제 #24
0
def register_form_view(request):
    # print(request.method)
    # print(request.GET)
    if request.method == "GET":
        form = RegisterForm()
        return render(request, "blog/register.html", context={"form": form})
    else:

        form = RegisterForm(request.POST)
        if form.is_valid():
            print(form.cleaned_data)
            return HttpResponse("Thank you for submitting the response")
        else:
            print(form.errors)
            return render(request,
                          "blog/register.html",
                          context={"form": form})
예제 #25
0
def register(request):
    if request.user.is_authenticated():
        return redirect('home')
    if request.method == 'POST':
        next_page = request.GET.get('next')

        form = RegisterForm(data=request.POST)
        if form.is_valid():
            form.save()
            new_user = authenticate(username=request.POST['username'],
                                    password=request.POST['password1'])
            login(request, new_user)
            Profile.objects.create(user=new_user)
            return redirect(next_page)
    else:
        form = RegisterForm()
    return render(request, 'blog/register.html', {'form': form})
예제 #26
0
def register():
    """View function for Register"""

    # RegisterForm.validate() 会被执行
    form = RegisterForm()

    if form.validate_on_submit():
        new_user = User(username=form.username.data,
                        password=form.password.data)
        db.session.add(new_user)
        db.session.commit()

        flash('Your user has been created, please login.',
              category="success")
        return redirect(url_for('main.login'))
    return render_template('register.html',
                           form=form)
 def test_register_form_repeat_username(self):
     post_data = {
         'username': '******', 'email': '*****@*****.**',
         'password1': 'A1B2C34G56LZ',
         'password2': 'A1B2C34G56LZ',
     }
     form = RegisterForm(data=post_data)
     self.assertTrue('username' in form.errors)
     self.assertTrue(_("A user with that username already exists.") in form.errors['username'])
예제 #28
0
파일: views.py 프로젝트: xxxt/blog
def register(request):
    """用户注册"""
    hint = ''
    if request.method == 'POST':
        form = RegisterForm(request.POST)
        if form.is_valid():
            code_from_session = '123456'  # request.session.get('mobile_code')
            code_from_user = form.cleaned_data['code']
            if code_from_session == code_from_user:
                form.save()
                hint = '注册成功,请登录!'
                # return render(request, 'blog/login.html', {'hint': hint})
                return redirect('blog:login')
            else:
                hint = '请输入正确的手机验证码'
        else:
            hint = '请输入有效的注册信息'
    return render(request, 'blog/register.html', {'hint': hint})
 def test_register_form_password(self):
     post_data = {
         'username': '******', 'email': '*****@*****.**',
         'password1': 'A1B2C34G56LZ',
         'password2': 'A1B2C34G56LZ1',
     }
     form = RegisterForm(data=post_data)
     self.assertTrue('password2' in form.errors)
     self.assertTrue('两次输入的密码不同,请重新输入!' in form.errors['password2'])
 def test_register_form_email(self):
     post_data = {
         'username': '******', 'email': '*****@*****.**',
         'password1': 'A1B2C34G56LZ',
         'password2': 'A1B2C34G56LZ',
     }
     form = RegisterForm(data=post_data)
     self.assertTrue('email' in form.errors)
     self.assertTrue('此电子邮箱已经被注册,请输入其他电子邮箱!' in form.errors['email'])
예제 #31
0
def register(request):
    if request.method == 'POST':
        register_form = RegisterForm(request.POST)
        if register_form.is_valid():
            username = register_form.cleaned_data['username']
            password = register_form.cleaned_data['password']
            email = register_form.cleaned_data['email']
            user = User.objects.create(username=username,
                                       email=email,
                                       password=password)
            user.save()
            user = auth.authenticate(username=user.username,
                                     password=request.POST['password'])
            auth.login(request, user)
            return redirect(request.GET.get('from'), reverse('blog:index'))
    else:
        register_form = RegisterForm()
    context = {'register_form': register_form}
    return render(request, 'blog/register.html', context)
예제 #32
0
def register(request):
    '''
	用户注册界面逻辑实现
	author:陈思齐
	:param request:
	:return:
	'''
    context = {}
    errors = ''

    if request.method == "GET":
        form = RegisterForm
    if request.method == "POST":
        form = RegisterForm(request.POST)
        if form.is_valid():
            name = form.cleaned_data['name']
            password = form.cleaned_data['password']
            email = form.cleaned_data['email']
            user = User.objects.create_user(username=email,
                                            password=password,
                                            email=email)
            if user:
                user.is_staff = True
                user.save()
                c = UserProfile(name=name, email=email, belong_to=user)
                c.save()
                login(request, user)
                # print (request.POST["referer"])
                if request.POST["referer"] and 'login' not in request.POST[
                        "referer"]:
                    return redirect(request.POST["referer"])
                else:
                    return redirect(to='home')
    if "HTTP_REFERER" in request.META:
        context["referer"] = request.META["HTTP_REFERER"]
        # print (context["referer"])
    else:
        context["referer"] = ""
    context['form'] = form
    context['errors'] = errors

    return render(request, "register.html", context)
예제 #33
0
 def post(self, request):
     res = {'code': 0}
     form_obj = RegisterForm(request.POST)
     # 使用form做校验
     if form_obj.is_valid():
         # 数据有效,注册用户
         # 注意移除不需要的re_password
         form_obj.cleaned_data.pop('re_password')
         # 拿到用户上传的头像文件
         avatar_file = request.FILES.get('avatar')
         # 直接将拿到的文件对象传给avatar字段就可以完成写文件,和将文件路径存入数据库的操作
         # 前提ORM定义的字段得是FileField,这是ORM的功能,和mysql数据库无关
         models.UserInfo.objects.create_superuser(**form_obj.cleaned_data, avatar=avatar_file)
         # 登录成功之后跳转到登录页面
         res['msg'] = '/login/'
     else:
         # 用户的数据有问题
         res['code'] = 1
         res['msg'] = form_obj.errors
     return JsonResponse(res)
예제 #34
0
def registerUser(request):
	if request.user.is_anonymous():
		if request.method == 'POST':	
			form = RegisterForm(request.POST)
			
			if form.is_valid():
				data = form.cleaned_data
				author = form.save()
				sendValidationEmail(author)
				message = _('Account has been created, to complete the registration process go to the link sent to your email adress (%s)') %(data['email'])
				messages.add_message(request, messages.INFO, message)
				
				return redirect(reverse('login_user'))
			else: 
				return render_to_response('blog/register.html', {'form': form}, context_instance=RequestContext(request))
		else:
				form = 	RegisterForm()	
				return render_to_response('blog/register.html', {'form': form}, context_instance=RequestContext(request))
	else:
		raise Http404
예제 #35
0
파일: views.py 프로젝트: goodking-bq/zblog
def register():
    from blog.extend.EmailHelper import register_mail

    form = RegisterForm(request.form)
    if request.method == 'POST' and form.validate():
        pwd = User.make_random_passwd(email=form.email.data)
        user = User(email=pwd['email'],
                    role=ROLE_USER,
                    nicename=form.email.data,
                    passwd=pwd['pwdmd5'],
                    is_locked=User_LOCKED,
                    register_ip=request.remote_addr,
                    salt=pwd['salt'])
        user.register_date = datetime.datetime.now(),
        db.session.add(user)
        db.session.commit()
        user.passwd = pwd['pwd']
        register_mail(user)
        flash(u'恭喜,注册成功!')
        Blog_info.new_user()
        return redirect(url_for('login'))
    return render_template('register.html',
                           title=u'欢迎注册',
                           form=form)