Exemplo n.º 1
0
    def post(self, request):
        register_form = RegisterForm(request.POST)
        if register_form.is_valid():
            user_name = request.POST.get('email', '')
            if UserProfile.objects.get(email=user_name):  # 判断用户是否存在
                return render(request, "register.html", {'mes': '用户已存在'})
            else:
                pass_word = request.POST.get('password', '')
                user_profile = UserProfile()
                user_profile.username = user_name  # 这里的user_name是前端传过来的email
                user_profile.email = user_name
                user_profile.is_active = False  # 默认设置未激活
                # user_profile.set_password(pass_word)  # 保存密码
                user_profile.password = make_password(pass_word)  # 保存密码和上一行的操作意义一样
                user_profile.save()  # 这个就很尴尬了,非要加上force_inser=True才能从前端提交保存到数据库
                # 但是我直接在后代文件中写save()就可以保存了,则会是为什么???
                # 然后几天之后我直接调用save方法居然又能行了,这是真的尴尬了

                # 把注册信息写近 UserMessage表的, 在个人中心我的消息中体现
                user_message = UserMessage()
                user_message.user = user_profile.id
                user_message.message = "欢迎您的注册  !!"
                user_message.save()
                send_register_email(user_name, 'register')
                return render(request, "login.html")
        else:
            return render(request, "login.html")
Exemplo n.º 2
0
    def post(self, request):
        register_form = RegisterForm(request.POST)
        if register_form.is_valid():
            user_name = request.POST.get('email', '')

            if MyUser.objects.filter(email=user_name):
                return render(request, 'users/register.html',
                              {'register_form': register_form,
                               'msg': '用户已经存在'
                               })

            password = request.POST.get('password', '')
            user = MyUser()
            user.username = user_name
            user.email = user_name
            user.is_active = False
            user.password = make_password(password)
            user.save()

            send_register_email(user_name)

            messages.add_message(request, messages.SUCCESS, '注册成功!请在邮箱中点击激活链接激活账号!')
            return render(request, 'users/register.html', {})
        else:
            hashkey = CaptchaStore.generate_key()
            image_url = captcha_image_url(hashkey)
            return render(request, 'users/register.html', {
                'register_form': register_form,
                'hashkey': hashkey,
                'image_url': image_url})
Exemplo n.º 3
0
    def post(self, request):
        register_form = RegisterForm(request.POST)
        if register_form.is_valid():
            user_name = request.POST.get("email", "")
            if UserProfile.objects.filter(email=user_name):
                return render(request, 'register.html', {
                    'register_form': register_form,
                    'msg': "用户已经存在"
                })
            pass_word = request.POST.get("password", "")
            user_profile = UserProfile()
            user_profile.username = user_name
            user_profile.email = user_name
            user_profile.password = make_password(pass_word)
            user_profile.is_active = False
            user_profile.save()

            #写入欢迎注册消息
            user_message = UserMessage()
            user_message.user = user_profile.id
            user_message.message = "欢迎注册哔哩哔哩弹幕网!"
            user_message.save()

            send_register_email(user_name, "register")
            return HttpResponse("激活邮件已经发送!")
        else:
            return render(request, "register.html",
                          {'register_form': register_form})
Exemplo n.º 4
0
 def get(self, request):
     email = request.GET.get('email', '')
     if UserProfile.objects.filter(email=email):
         return HttpResponse('{"email":"邮箱已注册"}', content_type='application/json')
     else:
         send_register_email(email, send_type='update_email')
         return HttpResponse('{"status":"success"}', content_type='application/json')
Exemplo n.º 5
0
    def post(self, request):
        register_form = RegisterForm(request.POST)
        print(register_form.data)
        if register_form.is_valid():
            user_name = request.POST.get('username', None)
            if UserProfile.objects.filter(username=user_name):
                return render(request, 'users/Regist.html', {
                    'register_form': register_form,
                    'msg': '用户已存在'
                })

            password1 = request.POST.get('password1', None)
            password2 = request.POST.get('password2', None)
            email = request.POST.get('email', None)
            tel = request.POST.get('tel', None)
            if password1 == password2:
                user_profile = UserProfile()
                # 实例化UserProfile对象
                user_profile.username = user_name
                user_profile.email = email
                user_profile.mobile = int(tel)

                user_profile.is_active = False

                user_profile.password = make_password(password1)
                user_profile.save()
                send_register_email(email)
                return render(request, 'users/Login.html')
            else:
                return render(request, 'users/Regist.html',
                              {'register_form': register_form})
        else:
            return render(request, 'users/Regist.html',
                          {'register_form': register_form})
Exemplo n.º 6
0
    def post(self, request):
        # 获取邮箱和密码,并校验
        register_form = RegisterForm(request.POST)
        if register_form.is_valid():
            # 获取邮箱
            user_name = request.POST.get('email', '')
            # 根据user_name查询数据库
            if Myuser.objects.filter(email=user_name):
                # 可以查询到用户
                return render(request, 'users/register.html', {
                    'register_form': register_form,
                    'msg': '用户已经存在'
                })
            # 完善用户信息
            password = request.POST.get('password', '')
            user_profile = Myuser()
            user_profile.username = user_name
            user_profile.email = user_name
            user_profile.is_active = False
            user_profile.password = make_password(password)
            user_profile.save()

            # 发送邮件
            send_register_email(user_name)
            messages.add_message(request, messages.SUCCESS, '注册成功!请在邮箱中点击激活链接激活账号!')
            return render(request, 'users/register.html', {})
        else:
            hashkey = CaptchaStore.generate_key()
            image_url = captcha_image_url(hashkey)
            return render(request, 'users/register.html', {
                'register_form': register_form,
                'hashkey': hashkey,
                'image_url': image_url})
Exemplo n.º 7
0
    def post(self, request):
        # 1,取到用户post的数据
        register_form = RegisterForm(request.POST)
        # 如果数据合法有效
        if register_form.is_valid():
            user_name = request.POST.get("email", "")
            # 查询用户是存在的,返回注册页并回填用户注册的数据
            if UserProfile.objects.filter(email=user_name):
                return render(request, 'register.html', {"register_form": register_form, "msg": u"用户已经存在"})
            pass_word = request.POST.get("password", "")
            # 实例化一个用户模型
            user_profile = UserProfile()
            # 把前台取到的值赋给用户模型里的username属性
            user_profile.username = user_name

            user_profile.email = user_name
            # 用户刚注册,默认用户未激活状态
            user_profile.is_active = False
            # 存储加密的密码
            user_profile.password = make_password(pass_word)
            # 保存用户
            user_profile.save()
            # 发送给用户注册时用的邮件
            send_register_email(user_name, "register")
            # 完成整个页面返回登录页面
            return render(request, 'login.html')
        else:
            # 否则数据无效继续在注册页面
            return render(request, 'register.html', {"register_form": register_form})
Exemplo n.º 8
0
    def post(self, request):
        # 输入数据时form表单进行格式检查
        register_form = RegisterForm(request.POST)
        # 如果表单验证合法
        if register_form.is_valid():
            user_name = request.POST.get('email', '')  # 获取username(request中的参数)
            if UserProfile.objects.filter(email=user_name):  # 检测用户是否已经存在
                return render(request, 'register.html', {'msg': '用户已经存在'})
            pass_word = request.POST.get('password', '')  # 获取password
            user_profile = UserProfile()
            user_profile.username = user_name  # 从表单中拿到的数据保存在user_profile数据库中
            user_profile.email = user_name   # 因为用邮箱登录所以用户名也保存成邮箱
            user_profile.password = make_password(pass_word)  # 密码用密文保存,需要调用make_password()方法
            user_profile.is_active = False  # 此时只是注册用户没有通过邮箱激活所以is_activate()设为false
            user_profile.save()

            # 写入注册消息
            message = UserMessage()
            message.user = user_profile.id
            message.message = '欢迎注册'
            message.save()

            send_register_email(user_name, 'register')  # 向用户发送邮件 进入发送邮件的逻辑
            return render(request, 'login.html')  # 邮件发送成功之后返回登录页面
        else:
            return render(request, 'register.html', {'register_form': register_form})
Exemplo n.º 9
0
 def get(self, request):
     email = request.GET.get('email', '')
     exit_email = UserProfile.objects.filter(email=email)
     if exit_email:
         return JsonResponse({'email': '邮箱已经存在'})
     else:
         send_register_email(email, 'update')
         return JsonResponse({'status': 'success', 'msg': '验证码已经发送'})
Exemplo n.º 10
0
 def post(self, request):
     forget_form = ForGetForm(request.POST)
     if forget_form.is_valid():
         email = request.POST.get("email", "")
         send_register_email(email, "forget")
         return render(request, 'send_success.html')
     else:
         return render(request, 'forgetpwd.html', {"forget_form": forget_form})
Exemplo n.º 11
0
 def post(self, request):
     forget_form = ForgetForm(request.POST)
     if forget_form.is_valid():
         email = request.POST.get("email", '')  # 获取前端穿过来的email值
         send_register_email(email, 'forget')   # 注册邮件发送完成,返回html
         return render(request, 'send_success.html')
     else:
         return render(request, 'forgetpwd.html', {'forget_form': forget_form})
Exemplo n.º 12
0
 def post(self, request):
     forms = FindPwdForm(request.POST)
     if forms.is_valid():
         user_name = request.POST.get("email", "")
         user = UserProfile.objects.filter(username=user_name)
         if user:
             send_register_email(user_name, 'forget')
             return render(request, "sendemail_success.html", {})
     else:
         return render(request, "forgetpwd.html", {"forms": forms})
Exemplo n.º 13
0
 def post(self, request):
     forget_form = ForgetPwdForm(request.POST)
     if forget_form.is_valid():
         user_name = request.POST.get('email', '')  # 获取username(request中的参数)
         if UserProfile.objects.filter(email=user_name):
             send_register_email(user_name, 'forget')
             return render(request, 'success_send.html')
         else:
             return render(request, 'forgetpwd.html', {'forget_form': forget_form, 'msg': '用户没有注册'})
     else:
         return render(request, 'forgetpwd.html', {'forget_form': forget_form})
Exemplo n.º 14
0
 def post(self, request):
     forget_form = ForgetForm(request.POST)
     if forget_form.is_valid():
         email = request.POST.get('email', '')
         if UserProfile.objects.filter(email=email):
             send_register_email(email, 'forget')
             return render(request, 'send_success.html')
         else:
             return render(request, 'forgetpwd.html', {'msg': '用户不存在'})
     else:
         return render(request, 'forgetpwd.html', {'forget_form': forget_form})
Exemplo n.º 15
0
    def post(self, request):
        register_form = RegisterForm(request.POST)
        pwd1 = request.POST.get("password1")
        pwd2 = request.POST.get("password2")
        email = request.POST.get("email")
        student_id = request.POST.get("studentid")

        if register_form.is_valid():
            if pwd1 == pwd2:
                try:
                    student = UserActive.objects.get(studentid=student_id)
                    if not student.active:
                        pattern = re.compile(
                            r'^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$'
                        )
                        if pattern.match(email):
                            user = UserProfile()
                            user.studentid = student_id
                            user.grade = student.grade
                            user.username = student.username
                            student.active = True
                            user.email = email
                            user.is_active = False
                            user.password = make_password(pwd1)
                            user.save()
                            student.save()
                            send_register_email(email, "register")
                            return HttpResponse(
                                json.dumps({
                                    "status": 1,
                                    "msg": "注册成功,请根据邮箱发送的地址进行激活"
                                }))
                        else:
                            return HttpResponse(
                                json.dumps({
                                    "status": 0,
                                    "msg": "请输入正确的邮箱地址"
                                }))
                    else:
                        return HttpResponse(
                            json.dumps({
                                "status": 0,
                                "msg": "该用户已经注册"
                            }))
                except Exception as e:
                    return HttpResponse(
                        json.dumps({
                            "status": 0,
                            "msg": "该用户不存在,请联系管理员"
                        }))
            else:
                return HttpResponse(json.dumps({"status": 0, "msg": "密码不一致"}))
        else:
            return HttpResponse(json.dumps({"status": 0, "msg": "验证码错误"}))
Exemplo n.º 16
0
 def post(self, request):
     forget_forms = ForgetPwdForm(request.POST)
     if forget_forms.is_valid():
         email = request.POST.get('email')
         if UserData.objects.filter(email=email):
             send_register_email(email, 'forget')
             return render(request, 'email_return.html')
         else:
             return render(request, 'forgetpwd.html', {'forget_forms': forget_forms,
                                                       'msg': '该帐号不存在,请重新输入'})
     return render(request, 'forgetpwd.html', {'forget_forms': forget_forms})
Exemplo n.º 17
0
    def post(self, request):
        forget_form = ForgetForm(request.POST)
        if forget_form.is_valid():
            email = request.POST.get('email', '')
            send_register_email(email, send_type='forget')
            msg = "验证码已发送至{0},请去邮箱点击跳转修改密码".format(email)
            return render(request, "response.html", {
                'email': email,
                'msg': msg
            })

        else:
            return render(request, "Back.html", {'forget_form': forget_form})
Exemplo n.º 18
0
 def get(self, request):
     email = request.GET.get('email')
     if email:
         send_register_email(email)
         msg = "激活连接已发到您的邮箱,请前往邮箱完成激活!"
         result = {"status": "200", "data": {"msg": msg}}
         return HttpResponse(json.dumps(result, ensure_ascii=False),
                             content_type="application/json,charset=utf-8")
     else:
         msg = "未收到邮箱"
         result = {"status": "404", "data": {"msg": msg}}
         return HttpResponse(json.dumps(result, ensure_ascii=False),
                             content_type="application/json,charset=utf-8")
Exemplo n.º 19
0
 def post(self, request):
     register_form = RegisterForm(request.POST)
     if register_form.is_valid():
         user_name = request.POST.get('email', '')
         password = request.POST.get('password', '')
         if UserProfile.objects.filter(email=user_name):
             return render(request, 'register.html', {'register_form': register_form, 'msg': '用户已存在'})
         user_profile = UserProfile()
         user_profile.username = user_name
         user_profile.email = user_name
         user_profile.password = make_password(password)
         user_profile.is_active = False
         user_profile.save()
         send_register_email(user_name, 'register')
         return render(request, 'login.html')
     else:
         return render(request, 'register.html', {'register_form': register_form})
Exemplo n.º 20
0
    def get(self, request):
        email = request.GET.get("email", "")
        if email:
            user = UserProfile.objects.get(email=email)
            user_message = UserMessage()
            user_message.user = user
            user_message.message = "学海网修改密码"
            user_message.save()

            send_register_email(email, "forget")  # 发送验证邮箱
            login_type = "forget"
            return render(request, "login.html", {
                "user": user,
                "login_type": login_type
            })
        else:
            return render(request, "login.html", {})
Exemplo n.º 21
0
 def post(self, request):
     forget_form = ForgetForm(request.POST)
     hashkey = CaptchaStore.generate_key()
     image_url = captcha_image_url(hashkey)
     if forget_form.is_valid():
         email = request.POST.get('email', '')
         send_register_email(email, 'find')
         messages.add_message(request, messages.SUCCESS, '邮件发送成功!请点击邮件中的链接找回密码')
         return render(request, 'users/forget_pwd.html', {
             'hashkey': hashkey,
             'image_url': image_url,
         })
     else:
         return render(request, 'users/forget_pwd.html', {
             'forget_form': forget_form,
             'hashkey': hashkey,
             'image_url': image_url,
         })
Exemplo n.º 22
0
 def post(self, request):
     email = request.POST.get("email", "")
     if UserProfile.objects.filter(email=email):
         return HttpResponse('{"msg":"邮箱已经存在"}',
                             content_type='application/json')
     user_id = request.POST.get("user_id", 0)
     if user_id > 0:
         user = UserProfile.objects.get(id=int(user_id))
         # 写入重置邮箱消息
         user_message = UserMessage()
         user_message.user = user
         user_message.message = user.username + "修改邮箱为:" + email
         user_message.save()
         # 发送验证邮箱
         send_register_email(email, "update_email")
         return HttpResponse('{"msg":"请前往邮箱验证"}',
                             content_type='application/json')
     else:
         return HttpResponse('{"msg":"修改失败"}',
                             content_type='application/json')
Exemplo n.º 23
0
 def post(self, request):
     register_form = RegisterForm(request.POST)
     if register_form.is_valid():
         username = request.POST.get("email", "")
         if UserProfile.objects.filter(email=username):
             return render(request, "register.html", {"msg": "用户已注册"})
         pass_word = request.POST.get("password", "")
         user = UserProfile()
         user.username = username
         user.email = username
         user.is_active = False
         user.password = make_password(pass_word)
         if not UserProfile.objects.filter(username=username,
                                           email=username):
             user.save()
         #邮箱认证
         send_register_email(username, "register")
         return render(request, "login.html")
     else:
         return render(request, "register.html",
                       {"register_form": register_form})
Exemplo n.º 24
0
 def get(self, request):
     email = request.GET.get('email', '')
     if UserProfile.objects.filter(email=email):
         return HttpResponse('{"email": "邮箱已存在"}',
                             content_type='application/json')
     data = dict()
     data['email'] = email
     data['code'] = send_register_email(email, 'update')
     data['send_type'] = 'update'
     send_email.delay(data)
     # send_register_email(email, 'update')
     return HttpResponse('{"status": "success"}',
                         content_type='application/json')
Exemplo n.º 25
0
    def post(self, request):
        register_form = RegisterForm(request.POST)
        if register_form.is_valid():
            user_name = request.POST.get("email", "")  # 将用户的email与password传入
            username = request.POST.get("username", "")
            gender = request.POST.get("gender", "")
            birthday = request.POST.get("birth", "")
            tel = request.POST.get("tel", "")
            image = request.POST.get("image", "")
            if UserProfile.objects.filter(email=user_name):
                return render(request, "register.html", {"register_form": register_form, "error": "用户已经存在!"})
            if UserProfile.objects.filter(username=username):
                return render(request, "register.html", {"register_form": register_form, "error": "该用户名已被注册,请换一个用户名重新注册"})
            pass_word = request.POST.get("password", "")

            user_profile = UserProfile()
            user_profile.username = username
            user_profile.email = user_name
            user_profile.gender = gender
            user_profile.birthday = birthday
            user_profile.mobile = int(tel)
            user_profile.image = image
            user_profile.is_active = False
            user_profile.password = make_password(pass_word)

            user_profile.save()

            # 写入欢迎注册消息
            user_message = UserMessage()
            user_message.user = user_profile
            user_message.message = "欢迎注册学海网"
            user_message.save()

            send_register_email(user_name, "register")  # 发送验证邮箱
            login_type = "register"
            return render(request, "login.html", {"register_form": register_form, "login_type": login_type})
        else:
            return render(request, "register.html", {"register_form": register_form})
Exemplo n.º 26
0
 def post(self, request):
     register_forms = RegisterForm(request.POST)
     if register_forms.is_valid():
         user_name = request.POST.get('email', '')
         if UserData.objects.filter(email=user_name):
             return render(request, 'register.html',
                           {'msg': '用户名已存在!', 'register_forms': register_forms})
         pass_word = request.POST.get('password', '')
         user_data = UserData()
         user_data.username = user_name
         user_data.email = user_name
         user_data.password = make_password(pass_word)
         user_data.is_active = False
         user_data.save()
         send_register_email(user_name, 'register')
         # 写入欢迎注册
         user_message = UserMessage()
         user_message.user = user_data.id
         user_message.message = '欢迎来到在线云课堂!'
         user_message.save()
         return render(request, 'email_return.html')
     else:
         return render(request, 'register.html', {'register_forms': register_forms})
Exemplo n.º 27
0
    def post(self, request):
        login_form = LoginForm(request.POST)
        email = request.POST.get("email", "")
        if email:
            try:
                user = UserProfile.objects.get(email=email)
            except:
                return render(request, "login.html", {
                    "login_type": '失败'
                })
            user_message = UserMessage()
            user_message.user = user
            user_message.message = "学海网修改密码"
            user_message.save()

            send_register_email(email, "forget")  # 发送验证邮箱
            login_type = "forget"
            return render(request, "login.html", {
                "user": user,
                "login_type": login_type
            })

        elif login_form.is_valid():
            user_name = request.POST.get("username", "")
            pass_word = request.POST.get("password", "")
            user = authenticate(username=user_name, password=pass_word)
            if user is not None:
                if user.is_active:  # 验证是否激活
                    login(request, user)
                    return HttpResponseRedirect(reverse("index"))
                else:
                    return render(request, "login.html", {"error": "用户未激活!"})
            else:
                return render(request, "login.html", {"error": "用户名或密码错误!"})
        else:
            return render(request, "login.html", {"error": "请输入正确格式!"})
Exemplo n.º 28
0
 def post(self, request):
     forget_form = ForgetForm(request.POST)
     if forget_form.is_valid():
         email = request.POST.get('email', '')
         if UserProfile.objects.filter(email=email):
             data = dict()
             data['email'] = email
             data['code'] = send_register_email(email, 'forget')
             data['send_type'] = 'forget'
             send_email.delay(data)
             # send_register_email(email, 'forget')
             return render(request, 'user/login.html')
         else:
             return render(request, 'index.html')
     else:
         return render(request, 'user/forgetpwd.html',
                       {'forget_form': forget_form})
Exemplo n.º 29
0
    def post(self, request):
        register_form = RegisterForm(request.POST)
        if register_form.is_valid():
            email = request.POST.get('email', '')
            if UserProfile.objects.filter(email=email):
                return render(request, 'user/register.html', {'msg': '该邮箱已注册'})
            password = request.POST.get('password', '')
            user_profile = UserProfile()
            user_profile.username = email
            user_profile.email = email
            # 加密密码
            user_profile.password = make_password(password)
            user_profile.is_active = False
            user_profile.save()
            data = dict()
            data['email'] = email
            data['code'] = send_register_email(email, 'register')
            data['send_type'] = 'register'
            send_email.delay(data)
            return render(request, 'index.html')

        else:
            return render(request, 'user/register.html',
                          {'register_form': register_form})
Exemplo n.º 30
0
 def post(self, request):
     email = request.POST.get("email")
     send_register_email(email, "forget")
     return render(request, "send_success.html")