Exemple #1
0
 def post(self, request, *args, **kwargs):
     register_post_form = RegisterPostForm(request.POST)
     if register_post_form.is_valid():
         mobile = register_post_form.cleaned_data["mobile"]
         password = register_post_form.cleaned_data["password"]
         # 新建一个用户
         user = UserProfile(username=mobile)
         user.set_password(password)
         user.mobile = mobile
         user.save()
         login(request, user)
         return HttpResponseRedirect(reverse("index"))
     else:
         register_get_form = RegisterGetForm()
         return render(
             request, "register.html", {
                 "register_get_form": register_get_form,
                 "register_post_form": register_post_form
             })
Exemple #2
0
 def post(self, request):
     login_form = DynamicLoginPostForm(request.POST)
     if login_form.is_valid():
         # 没有注册账号依然可以使用
         mobile = login_form.cleaned_data["mobile"]
         existed_users = UserProfile.objects.filter(mobile=mobile)
         if existed_users:
             user = existed_users[0]
         else:
             # 新建一个用户
             user = UserProfile(username=mobile)
             password = generate_random(10, 2)
             user.set_password(password)
             user.mobile = mobile
             user.save()
         login(request, user)
         return HttpResponseRedirect(reverse("index"))
     else:
         return render(request, "login.html", {"login_form": login_form})
Exemple #3
0
 def post(self, request, *args, **kwargs):
     register_post_form = RegisterPostForm(request.POST)
     if register_post_form.is_valid():
         mobile = register_post_form.cleaned_data['mobile']
         password = register_post_form.cleaned_data['password']
         # 创建一个用户
         user = UserProfile(username=mobile)
         user.set_password(password)
         user.mobile = mobile
         user.save()
         login(request, user)
         return HttpResponseRedirect(reverse('index'))
     else:
         register_get_form = RegisterGetForm()
         return render(
             request, 'register.html', {
                 'register_get_form': register_get_form,
                 'register_post_form': register_post_form
             })
Exemple #4
0
 def post(self, request, *args, **kwargs):
     dynamic_login = True
     login_form = DynamicLoginPostForm(request.POST)
     # 校验手机号码(下面),和手机验证码(内嵌在DynamicLoginPostForm里面了)
     banners = Banner.objects.all()[:3]
     if login_form.is_valid():
         # 去数据库查是否存在该用户
         mobile = login_form.cleaned_data['mobile']
         existed_user = UserProfile.objects.filter(mobile=mobile)
         # 如果用户存在,则直接登录
         if existed_user:
             user = existed_user[0]
         # 如果用户不存在,则新建一个用户
         else:
             # 默认用户名=手机号
             user = UserProfile(username=mobile)
             # 使用明文密码不安全,所以先生存随机密码,再用AbstractUser自带的set_password来进行hash加密存储,防止被破解
             password = generate_random(10, 2)
             user.set_password(password)
             # 别忘记存手机号
             user.mobile = mobile
             # 最后对新建的对象进行保存,否则不会存进数据库
             user.save()
         # 登录后,跳转首页
         login(request, user)
         next = request.GET.get('next', '')
         if next:
             return HttpResponseRedirect(next)
         return HttpResponseRedirect(reverse('index'))
     # 手机号码或手机验证码,验证失败就跳回登录页面
     # 需求,显示错误信息
     else:
         # 生成d_form对象是为了当验证失败返回登录页面的时候,能够带上captcha字段
         d_form = DynamicLoginForm()
         return render(
             request, 'login.html', {
                 'login_form': login_form,
                 'dynamic_login': dynamic_login,
                 'd_form': d_form,
                 "banners": banners,
             })
Exemple #5
0
    def post(self, request, *args, **kwargs):
        login_form = DynamicLoginForm()
        username = request.POST.get("username")
        password = request.POST.get("password")
        user_is_valid = UserProfile.objects.filter(username=username)

        if user_is_valid.count() != 0:
            return render(request, "register.html", {
                "msg": "用户名已存在", "login_form": login_form
            })
        else:
            user = UserProfile(username=username)
            user.set_password(password)
            user.mobile = "11111111111"
            user.nick_name = username
            user.address = "默认"
            user.gender = "male"
            user.is_VIP = False
            user.save()
            login(request, user)
            return HttpResponseRedirect(reverse("index"))
Exemple #6
0
    def post(self, request):
        register_form = RegisterPostForm(request.POST)
        if register_form.is_valid():
            # 新建一个用户
            mobile = register_form.cleaned_data.get('mobile')
            password = register_form.cleaned_data.get('password')
            user = UserProfile(username=mobile)
            user.set_password(password)
            user.mobile = mobile
            user.save()
            login(request, user)

            return redirect(reverse('front:index'))

        else:
            print(register_form.errors.get_json_data())
            captcha_form = RegisterGetForm()
            content = {
                'register_form_errors': register_form.errors,
                'captcha_form': captcha_form
            }
            return render(request, 'register.html', context=content)
Exemple #7
0
 def post(self,request, *args, **kwargs):
     login_form = DynamicLoginPostForm(request.POST)
     banners = Banner.objects.all()[:3]
     dynamic_login = True
     if login_form.is_valid():
         # 没有注册账号依然可以登录
         mobile = login_form.cleaned_data['mobile']
         existed_users = UserProfile.objects.filter(mobile=mobile)
         if existed_users:
             user = existed_users[0]
         else:
             # 新建用户
             user = UserProfile(username=mobile)
             password = generate_random(10, 2)
             user.set_password(password)
             user.mobile = mobile
             user.save()
         login(request, user)
         return HttpResponseRedirect(reverse('index'))
     else:
         d_form = DynamicLoginForm()
         return render(request, 'login.html', {'login_form': login_form, 'dynamic_login': dynamic_login, 'd_form': d_form, 'banners':banners})
Exemple #8
0
    def post(self, request, *args, **kwargs):    #处理用户传递过来的请求
        register_post_form = RegisterPostForm(request.POST)
        dynamic_login = True
        if register_post_form.is_valid():
            # 注册账号
            mobile = register_post_form.cleaned_data["mobile"]
            password = register_post_form.cleaned_data["password"]
            # 新建一个用户
            user = UserProfile(username=mobile)
            user.set_password(password)  # 生成该密码的秘文
            user.mobile = mobile
            user.save()
            login(request, user)  # 使该用户登陆
            return HttpResponseRedirect(reverse("index"))  # 跳转到首页

        else:
            register_get_form = RegisterGetForm()    #新的验证码
            # register_post_form = RegisterPostForm()    #错误的信息
            return render(request, "register.html", {
                "register_get_form": register_get_form,
                "register_post_form": register_post_form,
            })  # 传递到html文件中
Exemple #9
0
 def post(self, request, *args, **kwargs):
     dynamic_login = DynamicLoginPostForm(request.POST)
     if dynamic_login.is_valid():
         # 没有注册账号依然可以登录
         mobile = dynamic_login.cleaned_data['mobile']
         existed_user = UserProfile.objects.filter(mobile=mobile)
         if existed_user:
             user = existed_user[0]
         else:
             # 新建一个用户
             user = UserProfile(username=mobile)
             password = generate_random(10, 2)
             user.set_password(password)
             user.mobile = mobile
             user.save()
         auth.login(request, user)
         return HttpResponseRedirect(reverse('index'))
     else:
         d_login_form = DynamicLoginForm()
         return render(request, 'login.html', {
             'dynamic_login': dynamic_login,
             'd_form': d_login_form
         })
Exemple #10
0
    def post(self, request):
        # 校验数据
        mobile_login_form = MobileLoginForm(request.POST)
        if not mobile_login_form.is_valid():
            # 校验数据不对
            # 生成验证码
            d_mobile_form = CaptchaForm(request.POST)
            return render(request, 'login.html', {'mobile_login_form': mobile_login_form,
                                                  'd_mobile_form': d_mobile_form,
                                                  'res': 2})

        # 接收数据
        mobile = mobile_login_form.cleaned_data['mobile']
        code = mobile_login_form.cleaned_data['code']

        # 查询是否有此用户
        try:
            user = UserProfile.objects.get(mobile=mobile)
        except UserProfile.DoesNotExist:
            user = UserProfile()
            user.username = mobile
            user.mobile = mobile
            user.set_password(RandomStr.random_str(8, 2))
            user.save()

        # 记住用户登录状态
        login(request, user)

        # 登录成功删除用户刚才的验证码
        r = redis.Redis()
        r.delete(mobile)

        # 获取用户来前的页面
        url_next = request.GET.get('next', reverse('index'))

        # 返回首页
        return redirect(url_next)
Exemple #11
0
 def post(self, request):
     dynamic_login_flag = True
     login_form = DynamicLoginPostForm(request.POST)
     if login_form.is_valid():
         mobile = login_form.cleaned_data.get('mobile')
         existed_users = UserProfile.objects.filter(mobile=mobile)
         if existed_users:
             user = existed_users[0]
         else:
             # 未查到注册信息
             user = UserProfile(username=mobile)
             user.set_password(random_str.generate_random(10, 2))
             user.mobile = mobile
             user.save()
         login(request, user)
         return HttpResponseRedirect(reverse('index'))
     else:
         d_form = DynamicLoginForm()
         return render(
             request, 'login.html', {
                 'login_form': login_form,
                 'dynamic_login_flag': dynamic_login_flag,
                 'd_form': d_form
             })
Exemple #12
0
    def post(self, request, *args, **kwargs):
        #form表单实例化的时候、如果是post请求、需要加上request.POST
        register_post_form = RegisterPostForm(request.POST)

        #如果验证成功、则说明手机号是新的、验证码也和redis当中的一样
        if register_post_form.is_valid():
            mobile = register_post_form.cleaned_data["mobile"]
            password = register_post_form.cleaned_data["password"]

            print("验证成功以后会打印这句话")

            #手机号是用户名
            user = UserProfile(username=mobile)

            #设置密码  加密的形式
            user.set_password(password)
            #手机号是手机号
            user.mobile = mobile
            #保存
            user.save()
            #记录登录
            login(request, user)

            #跳转到首页
            return HttpResponseRedirect(reverse("index"))
        else:
            #如果验证失败的话  重新分配图片验证码到 register_get_form表单
            register_get_form = RegisterGetForm()
            return render(
                request,
                "register.html",
                {
                    "register_get_form": register_get_form,
                    #这个里面有错误信息、传递过去显示出来
                    "register_post_form": register_post_form
                })