示例#1
0
def index(request):
    if request.method == 'POST':
        if 'register_form' in request.POST:
            user_register = UserRegisterForm(request.POST)
            if user_register.is_valid():
                User.objects.create_user(username=user_register.cleaned_data['username'],
                                             email=user_register.cleaned_data['email'],
                                             password=user_register.cleaned_data['password'],
                                           #tipo=user_register.cleaned_data['tipo'],
                                         )
                LogIn(request, user_register.cleaned_data['username'],
                          user_register.cleaned_data['password'])
                return redirect('home')
        if 'login_form' in request.POST:
            login_form = LoginForm(request.POST)
            if login_form.is_valid():
                LogIn(request, login_form.cleaned_data['username'],
                                   login_form.cleaned_data['password'])
                user = User.objects.get(username = login_form.cleaned_data['username'])
                #user = User.objects.filter(request.user.username == login_form.cleaned_data['username'])
                return redirect('/')

    user_register = UserRegisterForm()
    login_form = LoginForm()
    return render(request, 'index.html', {'user_register': user_register, 'login_form': login_form })
示例#2
0
def user_register(request):
    if request.method == 'GET':
        return render(request, 'user_register.html')

    else:
        user_reform = UserRegisterForm(request.POST)
        if user_reform.is_valid():
            username = user_reform.cleaned_data['username']
            password = user_reform.cleaned_data['password']
            password1 = user_reform.cleaned_data['password1']

            user = UserProfile.objects.filter(username=username)
            if user:
                return render(request, 'user_register.html', {'msg': '该用户名已存在'})

            else:
                if password == password1:
                    userprofile = UserProfile()
                    userprofile.username = username
                    hash_password = make_password(password)
                    userprofile.password = hash_password
                    userprofile.save()
                    return redirect(reverse('users:user_login'))

                else:
                    return render(request, 'user_register.html', {'msg': '两次输入的密码不一致'})

        else:
            print(user_reform.errors)
            return render(request, 'user_register.html', {'user_reform': user_reform})
示例#3
0
def register(request):
    if request.method == 'GET':

        return render(request, 'register.html')
    if request.method == 'POST':
        #校验页面中传递的参数,是否填写完整
        # username=request.POST.get('username')
        # 将request.POST的内容交给Form校验,得到一个form
        # 表单验证,是否有效
        # 验证通过后,使用自定义Users.objects.create
        form = UserRegisterForm(request.POST)
        #is_valid()判断表单是否有效
        if form.is_valid():
            User.objects.create(username=form.cleaned_data['user_name'],
                                password=make_password(
                                    form.cleaned_data['pwd']),
                                email=form.cleaned_data['email'])
            #注册成功

            #实现跳转
            return HttpResponseRedirect(reverse('users:login'))

            # return render(request,'register.html')
            # else:
            #     return render(request,'register.html')
        # 如果校验不通过,页面跳转到注册页面,并且返回form,from里包含from.errors信息,可以在输入框上面显示错误信息
        else:
            return render(request, 'register.html', {'form': form})
示例#4
0
def index(request):
    if request.method == 'POST':
        if 'register_form' in request.POST:
            user_register = UserRegisterForm(request.POST)
            if user_register.is_valid():
                User.objects.create_user(
                    username=user_register.cleaned_data['username'],
                    email=user_register.cleaned_data['email'],
                    password=user_register.cleaned_data['password'],
                    #tipo=user_register.cleaned_data['tipo'],
                )
                LogIn(request, user_register.cleaned_data['username'],
                      user_register.cleaned_data['password'])
                return redirect('home')
        if 'login_form' in request.POST:
            login_form = LoginForm(request.POST)
            if login_form.is_valid():
                LogIn(request, login_form.cleaned_data['username'],
                      login_form.cleaned_data['password'])
                user = User.objects.get(
                    username=login_form.cleaned_data['username'])
                #user = User.objects.filter(request.user.username == login_form.cleaned_data['username'])
                return redirect('/')

    user_register = UserRegisterForm()
    login_form = LoginForm()
    return render(request, 'index.html', {
        'user_register': user_register,
        'login_form': login_form
    })
示例#5
0
 def post(self, *args, **kwargs):
     form = UserRegisterForm(self.request.POST)
     if form.is_valid():
         try:
             first_name = self.request.POST['first_name']
             last_name = self.request.POST['last_name']
             email = self.request.POST['email']
             user = form.save()
             token = user.generate_token()
             url = self.request.build_absolute_uri(
                 reverse('verify_token', args=(token.token, )))
             html_content = render_to_string(
                 'account/dummy.html', {
                     'url': url,
                     'full_name': first_name + " " + last_name,
                     'email': email
                 })
             subject, from_email, to = 'Atrax Verification Email', settings.EMAIL_HOST_USER, [
                 email
             ]
             text_content = "yes"
             msg = EmailMultiAlternatives(subject, text_content, from_email,
                                          [to])
             msg.attach_alternative(html_content, "text/html")
             msg.send()
             return HttpResponseRedirect(reverse('verify_email'))
         except IntegrityError as e:
             context = {
                 'error_messages': 'Something went wrong please try again.',
             }
             return render(self.request, self.template_name, context)
     return render(self.request, self.template_name, {'form': form})
示例#6
0
    def test_register_form_password_empty_failure(self):
        self.user_data["password1"] = ""
        form = UserRegisterForm(data=self.user_data)

        self.assertFalse(form.is_valid())
        self.assertEqual(form.errors["password1"][0],
                         "This field is required.")
示例#7
0
    def test_register_form_lastname_failure(self):
        self.user_data["last_name"] = ""
        form = UserRegisterForm(data=self.user_data)

        self.assertFalse(form.is_valid())
        self.assertEqual(form.errors["last_name"][0],
                         "This field is required.")
示例#8
0
    def test_register_form_email_exist_failure(self):
        self.user_data["email"] = "*****@*****.**"
        form = UserRegisterForm(data=self.user_data)

        self.assertFalse(form.is_valid())
        self.assertEqual(form.errors["email"][0],
                         "User with this Email address already exists.")
示例#9
0
    def post(self, request, *args, **kwargs):
        print(request.POST.get('username'))
        print(request.POST.get('password'))
        print(request.POST.get('password2'))
        print(request.POST.get('phone'))
        print(request.POST.get('email'))
        # 校验页面中传递的参数,是否填写完整
        form = UserRegisterForm(request.POST)

        if form.is_valid():
            # 获取校验后的用户名和密码
            username = form.cleaned_data.get('username')
            password = form.cleaned_data.get('password')
            phone = form.cleaned_data.get('phone')
            email = form.cleaned_data.get('email')
            if len(User.objects.filter(username= username,password=password)) == 0:
                user = User()
                user.username = username
                user.set_password(password)
                user.phone = phone
                user.email = email
                user.save()
                store_userimg(user.id)
                # 实现跳转
                return HttpResponseRedirect('/users/login/')
            return render(request, 'users/register.html', locals())
        else:
            print('验证失败', form.errors)
            return render(request, 'users/register.html', locals())
示例#10
0
    def test_username_anonymous_is_not_allowed(self):
        """Test whether email field invalidates dummy emails and raises a validation error"""
        field = 'username'

        form = UserRegisterForm(data={field: 'anonymous'})
        self.assertFalse(form.is_valid())
        self.assertEqual(form.has_error(field, code='invalid'), True, msg='This username is already taken')
示例#11
0
    def post(self, request):
        register_form = UserRegisterForm(request.POST)
        if register_form.is_valid():
            username = request.POST.get('username')
            email = request.POST.get('email')
            if UserProfile.objects.filter(username=username):
                return render(request, 'users/reg.html', {
                    'msg': '用户名已存在',
                    'register_form': register_form
                })
            if UserProfile.objects.filter(email=email):
                return render(request, 'users/reg.html', {
                    'msg': '邮箱已存在',
                    'register_form': register_form
                })
            password = request.POST.get('password')

            types = request.POST.get('type')
            print(types)
            user = UserProfile()
            user.username = username
            user.password = make_password(password=password)
            user.email = email
            user.usertype = types
            user.is_active = 0
            user.save()
            send_register_email(email, send_type='register')
            return render(request, 'users/login.html')
        return render(request, 'users/reg.html',
                      {'register_form': register_form})
示例#12
0
    def test_register_form_valid_data(self):
        form = UserRegisterForm(data={
            'username': '******',
            'email': '*****@*****.**'
        })

        self.assertTrue(form.is_valid())
示例#13
0
    def post(self, request):
        user_register_form = UserRegisterForm(request.POST)
        if user_register_form.is_valid():
            email = user_register_form.cleaned_data['email']
            password = user_register_form.cleaned_data['password']

            user_list = UserProfile.objects.filter(
                Q(username=email) | Q(email=email))
            if user_list:
                return render(request, 'users/register.html',
                              {'msg': '用户已经存在'})
            else:
                a = UserProfile()
                a.username = email
                a.set_password(password)
                a.email = email

                # 进行邮箱验证激活
                # 发送邮箱验证码
                if send_email_code(email, 1):
                    a.save()
                    return HttpResponse('情尽快前往邮箱激活账号')
                else:
                    return HttpResponse('注册失败')
                # return redirect('/users/user_login')
        else:
            return render(request, 'users/register.html',
                          {'user_register_form': user_register_form})
示例#14
0
文件: views.py 项目: dafma/STR
def index(request):
    if request.method == 'POST':
        if 'myForm' in request.POST:
            user_register = UserRegisterForm(request.POST)
            if user_register.is_valid():
                User.objects.create_user(username=user_register.cleaned_data['username'],
                                             email=user_register.cleaned_data['email'],
                                             password=user_register.cleaned_data['password'])
                LogIn(request, user_register.cleaned_data['username'],
                          user_register.cleaned_data['password'])
                return redirect('home')
        if 'login_form' in request.POST:
            login_form = LoginForm(request.POST)
            if login_form.is_valid():
                LogIn(request, login_form.cleaned_data['username'],
                                   login_form.cleaned_data['password'])
                user = User.objects.get(username = login_form.cleaned_data['username'])
                #user = User.objects.filter(request.user.username == login_form.cleaned_data['username'])
                return redirect('/')
    # casas = Casas.objects.order_by('fecha_publicacion')[:3]
    # bodegas = Bodega.objects.order_by('fecha_publicacion')[:3]
    # inflables = Inflable.objects.order_by('fecha_publicacion')[:3]
    # combis = Combi.objects.order_by('fecha_publicacion')[:3]



    user_register = UserRegisterForm()
    login_form = LoginForm()
    return render(request, 'index.html', {'user_register': user_register, 'login_form': login_form})
示例#15
0
    def test_register_form_valid(self):
        test_data = self.register_form_data['valid']
        form_data = {k: test_data[k] for k in self.register_form_fields}

        form = UserRegisterForm(data=form_data)

        assert form.is_valid() == test_data['valid']
示例#16
0
def user_register(request):
    if request.method == 'GET':
        # 此处实例化forms类,目的不是为了验证,而是为了使用验证码
        user_register_form = UserRegisterForm()
        return render(request, 'users/register.html',
                      {'user_register_form': user_register_form})
    else:
        # 获取form注册表单数据
        user_register_form = UserRegisterForm(request.POST)
        if user_register_form.is_valid():  # 验证注册的邮箱与密码数据
            # 提取提交的数据
            email = user_register_form.cleaned_data['email']
            password = user_register_form.cleaned_data['password']
            # 到数据库查询注册的账号是否存在
            user_list = UserProfile.objects.filter(
                Q(username=email) | Q(email=email))
            if user_list:  # 注册的账号存在
                return render(request, 'users/register.html',
                              {'mgs': '用户已经存在!!!'})
            else:  # 注册的账号不存在
                user = UserProfile()
                user.username = email
                user.set_password(password)
                user.email = email
                user.save()
                send_mail_code(email, 1)
                return HttpResponse("请尽快登陆你的邮件进行账号激活,否则无法登陆...")
                # return redirect(reverse('index'))
        else:  # 表单数据验证不合法
            return render(request, 'users/register.html',
                          {'user_register_form': user_register_form})
示例#17
0
def register(request):
    """Register a non-logged in user"""
    # Redirect to the homepage in case user is logged in.
    if request.user.is_authenticated:
        messages.warning(request, 'You are already logged in!')
        return redirect('ideas:home')

    template_name = 'users/register.html'
    context = {}
    if (request.method == 'POST'):
        context['form'] = form = UserRegisterForm(request.POST)
        if (form.is_valid()):
            user = form.save()
            username = form.cleaned_data.get('username')
            messages.success(
                request,
                f'Account created for {username}. You will now be able to Log In!'
            )
            log_in_user(request, user)
            return redirect('ideas:home')

    else:  # On GET request return a new form
        context['form'] = UserRegisterForm()

    context['meta'] = Meta(title='Register | IdeaFare',
                           description='Register on IdeaFare',
                           keywords=meta_home.keywords + ['register'])
    return render(request, template_name, context=context)
示例#18
0
def curier_register(request):
	if request.method=="POST":
		user_form = UserRegisterForm(data=request.POST)
		curier_form=CurierRegisterForm(data=request.POST,files=request.FILES)
		print(curier_form)
		if user_form.is_valid() and curier_form.is_valid():
			new_user= user_form.save()
			new_curier = Curier.objects.create(
				user=new_user,
				date_of_birth=curier_form.cleaned_data.get('date_of_birth'),
				photo=request.FILES['photo'],
				experience=curier_form.cleaned_data.get('experience'),
				phone=curier_form.cleaned_data.get('phone'),
				)
			new_curier.save()
			text=new_user.username+" "+str(curier_form.cleaned_data.get('date_of_birth'))+" "+str(curier_form.cleaned_data.get('phone'))
			send_mail("new curier",text,'*****@*****.**',['*****@*****.**'],fail_silently=False)
			return redirect("Home")
		return HttpResponse("Error")

	else:
		form_user = UserRegisterForm()
		curier_user = CurierRegisterForm()
		cxt={
		   "register_form":form_user,
		   "curier_form":curier_user,
		}
		return render(request,"curiers/register.html",context=cxt)
示例#19
0
    def post(self, request):
        form = UserRegisterForm(request.POST)
        if form.is_valid():

            cd = form.cleaned_data

            #Так теперь мы создаем новго пользователя и создаем также рандомные данные для отправки
            random_string = create_random_string(40)

            user = SiteUsers.objects.create(login=cd['login'],
                                            password=cd['password'],
                                            email=cd['email'],
                                            original_name=cd['original_name'],
                                            surname=cd['surname'])
            code = UserOneCodes.objects.create(user=user, code=random_string)

            #Так теперь вот тут отправляем данные на почту, чтобы по ссылке мог зарегаться
            data = "Для активации вашего аккаунта на IP Telecom пожалуста пройдите по ссылке http://192.168.1.103:8080/user/activation?code={0}".format(
                random_string)

            send_mail('Welcome!',
                      data,
                      "Yasoob", [
                          cd['email'],
                      ],
                      fail_silently=False)
            return HttpResponse('Все нормально')

        else:
            return render(request, 'user_registration_form.html',
                          {'form': form})
示例#20
0
    def test_UserRegisterForm_no_data(self):
        """Testing UserRegisterForm Class
        - Not Successfull , form not valid"""
        form = UserRegisterForm(data={})

        self.assertFalse(form.is_valid())
        self.assertEquals(len(form.errors), 4)
示例#21
0
    def test_register_form_email_wrong_failure(self):
        self.user_data["email"] = "test"
        form = UserRegisterForm(data=self.user_data)

        self.assertFalse(form.is_valid())
        self.assertEqual(form.errors["email"][0],
                         "Enter a valid email address.")
示例#22
0
    def test_register_form_bad_email(self):
        test_data = self.register_form_data['bad_email']
        form_data = {k: test_data[k] for k in self.register_form_fields}

        form = UserRegisterForm(data=form_data)

        assert form.has_error('email') == True
        assert form.is_valid() == test_data['valid']
示例#23
0
    def test_register_form_duplicate(self):
        test_data = self.register_form_data['duplicate']
        form_data = {k: test_data[k] for k in self.register_form_fields}

        form = UserRegisterForm(data=form_data)

        assert form.has_error('username') == True
        assert form.is_valid() == test_data['valid']
 def test_form_email_invalid(self):
     data = {'username': '******',
             'email': '',
             'password1': 'tests321',
             'password2': 'tests321'
             }
     form = UserRegisterForm(data=data)
     self.assertFalse(form.is_valid())
示例#25
0
 def test_user_already_exists(self):
     data = {
         'username': '******',
         'password1': 'test123',
         'password2': 'test123',
     }
     form = UserRegisterForm(data)
     self.assertFalse(form.is_valid())
示例#26
0
 def test_valid_user_register(self):
     form = UserRegisterForm(data={
         'username': '******',
         'email': '*****@*****.**',
         'password1': 'madman000',
         'password2': 'madman000'
     })
     self.assertTrue(form.is_valid())
 def test_form_different_passwords(self):
     data = {'username': '******',
             'email': '*****@*****.**',
             'password1': 'tests321',
             'password2': 'tests123'
             }
     form = UserRegisterForm(data=data)
     self.assertFalse(form.is_valid())
 def test_form_password_too_short(self):
     data = {'username': '******',
             'email': '*****@*****.**',
             'password1': 'test',
             'password2': 'test'
             }
     form = UserRegisterForm(data=data)
     self.assertFalse(form.is_valid())
 def test_form_is_valid(self):
     data = {'username': '******',
             'email': '*****@*****.**',
             'password1': 'tests321',
             'password2': 'tests321'
             }
     form = UserRegisterForm(data=data)
     self.assertTrue(form.is_valid())
示例#30
0
 def test_no_passwords_register(self):
     form = UserRegisterForm(data={
         'username': '******',
         'email': '*****@*****.**',
         'password1': '',
         'password2': ''
     })
     self.assertFalse(form.is_valid())
     self.assertEquals(len(form.errors), 2)
 def test_user_register_form_valid(self, db):
     form = UserRegisterForm(
         data={
             'username': '******',
             'email': '*****@*****.**',
             'password1': 'username1password',
             'password2': 'username1password',
         })
     assert form.is_valid() == True
示例#32
0
 def test_username_spaces_mail_register(self):
     form = UserRegisterForm(data={
         'username': '******',
         'email': '*****@*****.**',
         'password1': 'madman000',
         'password2': 'madman000'
     })
     self.assertFalse(form.is_valid())
     self.assertEquals(len(form.errors), 1)
示例#33
0
	def post(self, request):
		form = UserRegisterForm(request.POST)

		if form.is_valid():

			form_data = form.data

			user = User.objects.create_user(
				form_data['name'],
				form_data['email'],
				form_data['password'])

			profile = Profile(name = form_data['name'],
							 email = form_data['email'],
							 fone = form_data['fone'],
							 company_name = form_data['company_name'],
							 user = user)
			profile.save()

			return redirect('profileIndex')

		return render(request, self.template_name, {'form' : form})