コード例 #1
0
    def post(self, request):
        register_form = RegisterForm(request.POST)

        if register_form.is_valid():  #如果邮箱,密码不为空
            user_email = request.POST.get("email", None)
            if UserProfile.objects.filter(email=user_email):  #如果邮箱存在
                return render(request, 'register.html', {
                    'register_form': register_form,
                    'msg': '邮箱已被注册'
                })

            user_pwd = request.POST.get("password", None)

            # 实例化一个user_profile对象
            user_profile = UserProfile()
            user_profile.username = user_email  #用户邮箱当做用户名实现邮箱登入
            user_profile.email = user_email
            user_profile.is_active = False  #默认添加的用户是激活状态,修改只有用户去邮箱激活之后才改为True
            user_profile.password = make_password(user_pwd)  # 对保存到数据库的密码加密

            user_profile.save()

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

            send_email(user_email, 'register')  #发送验证码

            return render(request, 'login.html')

        else:
            return render(request, 'register.html',
                          {'register_form': register_form})
コード例 #2
0
    def post(self, requset):
        login_form = LoginForm(requset.POST)

        if login_form.is_valid():
            email = requset.POST['email']
            password = requset.POST['password']

            # user = UserProfile.objects.get(email=email)
            # 驗證賬號密碼是否一致
            # user = authenticate(email=email,password=password)
            user = UserProfile.objects.get(email=email)
            result = check_password(password, user.password)

            if result:
                if user.is_active == 1:
                    return render(requset, 'home.html')
                else:
                    code_obj = EmailRecord.objects.get(email=email)
                    code = code_obj.code
                    send_email(email, code)
                    return render(requset, 'login.html', {
                        'login_form': login_form,
                        'msg': '该账号尚未被激活,请前往邮箱进行激活'
                    })

            else:

                return render(requset, 'login.html', {
                    'login_form': login_form,
                    'msg': '账号密码不匹配,请核对'
                })

        else:
            return render(requset, 'login.html', {'login_form': login_form})
コード例 #3
0
ファイル: views.py プロジェクト: zyboy233/Learning.github.io
    def post(self,request):
        login_form = LoginForm(request.POST)
        if login_form.is_valid():
            email = request.POST['email']
            password = request.POST['password']

            # user = UserProfile.objects.filter(email=email)
            # 验证账号密码是否一致
            # user = authenticate(email=email,password=password)
            user = UserProfile.objects.get(email=email)
            login_password_hash = make_password(password)
            result = check_password(password,user.password)
            print(result,'----------------')
            if result:
                if user.is_active == 1:
                    return render(request,'home.html')
                else:
                    code_obj = EmailRecord.objects.get(email=email)
                    code = code_obj.code
                    send_email(email=email)
                    return render(request,'login.html',{'login_form':login_form,'msg':'该账号尚未被激活,请前往邮箱激活!'})
            else:
                return render(request,'login.html',{'login_form':login_form,'msg':'账号密码不匹配,请核对!'})
        else:
            return render(request,'login.html',{'login_form':login_form})
コード例 #4
0
    def post(self, request):
        register_form = RegisterForm(request.POST)
        if register_form.is_valid():
            user_email = request.POST.get("email", '')
            if UserProfile.objects.filter(email=user_email):
                return render(request, "register.html", {
                    "register_form": register_form,
                    "msg": u"用户已存在"
                })
            pass_word = request.POST.get("password", '')
            user_profile = UserProfile()
            user_profile.username = user_email
            user_profile.email = user_email
            user_profile.is_active = False
            user_profile.password = make_password(pass_word)
            user_profile.save()

            # 写入注册欢迎消息
            user_message = UserMessage()
            user_message.name = user_profile.id
            user_message.message = u"欢迎注册在线点餐网~"
            user_message.save()

            send_email(user_email, "register")
            return render(request, "login.html")
        else:
            return render(request, "register.html",
                          {"register_form": register_form})
コード例 #5
0
    def create(self, request, *args, **kwargs):
        serializer = self.get_serializer(data=request.data)
        serializer.is_valid(raise_exception=True)
        email = serializer.validated_data['email']

        send_email(email, send_type='register')
        return Response({'email': email}, status=status.HTTP_201_CREATED)
コード例 #6
0
ファイル: views.py プロジェクト: vevoly/StudyOnline2
    def post(request):
        register_form = RegisterForm(request.POST)
        if register_form.is_valid():

            email = request.POST.get('email', '')
            password = request.POST.get('password', '')
            # email是否存在
            email_exist = UserProfile.objects.filter(email=email)
            if email_exist:
                return render(request, 'register.html',
                              {'msg': '邮箱已经存在,请更换邮箱。'})
            # 1 保存 2 发送激活邮件 3 写入欢迎注册消息
            user = UserProfile()
            user.email = email
            user.username = email
            user.password = make_password(password)
            user.is_active = 0
            user.save()
            send_email(email)
            welcome = UserMessage()
            welcome.user = user
            welcome.message = '欢迎注册在线学校网'
            welcome.save()
            return render(request, 'send_success.html')
        else:
            return render(request, 'register.html',
                          {'register_form': register_form})
コード例 #7
0
ファイル: views.py プロジェクト: Lilenn/cons
    def post(self, request):
        # 验证账号密码的合法性
        register_form = RegisterForm(request.POST)
        # 如果所有内容合法
        if register_form.is_valid():
            email = request.POST['email']
            password = request.POST['password']
            # 判断是否有相同账号在数据库中
            user = UserProfile.objects.filter(email=email)
            # 如果有
            if user:
                # 注册失败 返回注册界面 同时返回失败信息
                return render(request, 'register.html', {
                    'register_form': register_form,
                    'msg': '该用户已经被注册'
                })

            # 账号密码合法 同时未被注册
            user = UserProfile()
            user.email = email
            # make_password 将之前的密码进行加密
            user.password = make_password(password)
            user.username = email
            user.is_active = 0
            user.save()

            # 注册成功的同时 发送邮件给对方 通知对方注册成功
            send_email(email=email)
            return render(request, 'tips.html')
        # 数据不合法
        else:
            return render(request, 'register.html',
                          {'register_form': register_form})
コード例 #8
0
ファイル: views.py プロジェクト: mrhph/Mxonline3
 def get(self, request):
     email = request.GET.get('email', '')
     # 不能是已注册的邮箱
     if UserProfile.objects.filter(email=email):
         return JsonResponse({'email': '邮箱已经存在'})
     send_email(email, send_type='update_email')
     return JsonResponse({'status': 'success'})
コード例 #9
0
 def post(self, request):
     register_form = RegisterForm(request.POST)
     if register_form.is_valid():
         user_name = request.POST.get("email", "")
         pass_word = request.POST.get("password", "")
         user_profile = UserProfile()
         user_profile.username = user_name
         user_profile.email = user_name
         user_profile.is_active = False
         user_profile.password = make_password(pass_word)
         try:
             user_profile.save()
         except:
             return render(request, "register.html", {
                 'register_form': register_form,
                 'msg': '用户已存在'
             })
         user_message = UserMessage()
         user_message.user = user_profile.id
         user_message.message = "慕學在綫網歡迎你"
         user_message.save()
         send_email(user_name)
         return render(request, "login.html")
     else:
         return render(request, "register.html",
                       {'register_form': register_form})
コード例 #10
0
ファイル: views.py プロジェクト: jxypython/guetonline
 def post(self, request):
     registerform = RegisterForm(request.POST)
     if registerform.is_valid():  #注册流程
         user_name = request.POST.get('email', '')
         if UserProfile.objects.filter(email=user_name):
             return render(request, "register.html", {
                 'registerform': registerform,
                 '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
         send_email(user_name, 'register')
         user_profile.save()
         #写入欢迎用户注册消息
         usermessage = UserMessage()
         usermessage.user = user_profile.id
         usermessage.message = '欢迎注册'
         usermessage.save()
         return render(request, "login.html")
     else:
         return render(request, "register.html",
                       {'registerform': registerform})
コード例 #11
0
    def post(self, request):
        # 实例化form,验证每个字段是否合法
        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.is_active = False
            user_profile.password = make_password(pass_word)
            user_profile.save()

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

            # 发送到用户邮箱并且叫用户激活
            send_email(user_name, "register")
            return HttpResponseRedirect(reverse("login"))
        else:
            return render(request, "register.html",
                          {"register_form": register_form})
コード例 #12
0
ファイル: views.py プロジェクト: mrhph/Mxonline3
    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):
                context = {'register_form': register_form, 'msg': '用户已存在'}
                return render(request, 'register.html', context=context)

            pass_word = request.POST.get('password', '')
            # 实例化一个user_profile对象,将前台值存入
            user_profile = UserProfile.objects.create(
                username=user_name,
                email=user_name,
                password=make_password(pass_word),
                is_active=False)
            # 写入欢迎注册消息
            user_message = UserMessage.objects.create(
                user=user_profile.id,
                message='欢迎注册微慕课!! --系统自动消息',
            )

            # 发送注册激活邮件
            send_email(user_name, send_type='register')
            return render(request, 'login.html', {'msg': '邮件已发送,请去激活账户'})
        else:
            # 注册邮箱form验证失败
            return render(request, 'register.html',
                          {'register_form': register_form})
コード例 #13
0
ファイル: views.py プロジェクト: peterdaisy/GMOOC
 def post(self, request):
     register_form = RegisterForm(request.POST)  #将post上来的数据传递给RegisterForm
     if register_form.is_valid():  #上传的数据符合form表要求,有效
         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', '')
         ########注册的时候需要查看邮箱是否有重复,利用了username进行了去重#######
         user_profile = UserProfile()
         user_profile.username = user_name
         user_profile.email = user_name
         #明文数据需要经过加密后传入数据库,利用make_password方法加密
         user_profile.password = make_password(pass_word)
         user_profile.is_active = 0  #表面用户还未激活
         user_profile.save()
         #用于邮件激活操作
         send_email(user_name, send_type='register')
         return render(request, 'login.html',
                       {})  # 将register_form数据传递给Template
     else:
         #注册失败跳转至register页面,暂时
         #return render(request,'index.html',{})
         return render(request, 'register.html',
                       {'register_form': register_form
                        })  # 将register_form数据传递给Template
コード例 #14
0
ファイル: views.py プロジェクト: Cuiks/Django_onlineEdu
 def get(self, request):
     email = request.GET.get('email')
     if UserProfile.objects.filter(email=email):
         return HttpResponse('{"email":"邮箱已注册"}',
                             content_type='application/json')
     send_email(email, 'update_email')
     return HttpResponse('{"status":"success"}',
                         content_type='application/json')
コード例 #15
0
 def post(self, request):
     forgetpwd_form = ForgetPwdForm(request.POST)
     if forgetpwd_form.is_valid():
         email = request.POST.get('email', '')
         send_email(email, "forget")
         return render(request, "send_success.html", {})
     else:
         return render(request, "forgetpwd.html",
                       {"forgetpwd_form": forgetpwd_form})
コード例 #16
0
ファイル: views.py プロジェクト: Cuiks/Django_onlineEdu
 def post(self, request):
     forget_form = ForgetForm(request.POST)
     if forget_form.is_valid():
         email = request.POST.get('email', '')
         send_email(email, 'forget')
         return render(request, 'send_success.html')
     else:
         return render(request, 'forgetpwd.html',
                       {'forget_form': forget_form})
コード例 #17
0
    def get(self, request):

        email = request.GET.get('email', '')
        if UserProfile.objects.filter(email=email):
            return HttpResponse("{'email':'邮箱已存在'}",
                                content_type='application/json')
        send_email(email, 'update_email')
        return HttpResponse("{'status':'success'}",
                            content_type='application/json')
コード例 #18
0
ファイル: views.py プロジェクト: vevoly/StudyOnline2
 def post(request):
     forget_form = ForgetPwdForm(request.POST)
     if forget_form.is_valid():
         email = forget_form.cleaned_data['email']
         # 发送邮件
         send_email(email, 'forget')
         return render(request, 'send_success.html')
     else:
         return render(request, 'forgetpwd.html',
                       {'forget_form': forget_form})
コード例 #19
0
ファイル: views.py プロジェクト: 845240981/courseblog
 def post(self,request):
     forget_form = ForgetForm(request.POST)
     if forget_form.is_valid():
         user_name = request.POST.get('email','')
         asd=Userprofile.objects.filter(email=user_name)
         if Userprofile.objects.filter(email=user_name):
              send_email(user_name,'forget')
              return render(request,'send_success.html')
         else:
             return render(request, 'forgetpwd.html', {'msg': '该邮箱并没有注册'})
     return render(request, 'forgetpwd.html', {'Forgetform': forget_form})
コード例 #20
0
ファイル: views.py プロジェクト: peterdaisy/GMOOC
 def post(self, request):
     forgetpwd_form = ForgetpwdForm(request.POST)
     if forgetpwd_form.is_valid():
         #post数据成功,将验证码保存在EmailVerifyCode,用于激活查询,并跳转至index页面
         email = request.POST.get('email')
         send_email(email, send_type='find_password')
         return render(request, 'send_success.html', {})
     else:
         #验证码错误或邮箱格式错误返回信息
         return render(request, 'forgetpwd.html',
                       {'forgetpwd_form': forgetpwd_form})
コード例 #21
0
ファイル: views.py プロジェクト: mrhph/Mxonline3
 def post(self, request):
     forget_form = ForgetForm(request.POST)
     if forget_form.is_valid():
         email = request.POST.get('email', '')
         # 发送找回密码邮件
         send_email(email, send_type='forget')
         # 发送完毕返回登录页面并提示发送邮件成功。
         return render(request, 'login.html', {'msg': '重置密码邮件已发送,请注意查收'})
     else:
         return render(request, 'forgetpwd.html',
                       {'forget_from': forget_form})
コード例 #22
0
    def get(self, request):
        email = request.GET.get("email", "")

        # 判断邮箱是否存在
        if UserProfile.objects.filter(email=email):
            return HttpResponse('{"email":"邮箱已经存在"}',
                                content_type='application/json')

        send_email(email, "update_email")
        return HttpResponse('{"status":"success"}',
                            content_type='application/json')
コード例 #23
0
 def post(self, request):
     email = request.POST.get("email", "")
     user = UserProfile.objects.filter(email=email)
     if user:
         send_email(email, 'forget')
         # return HttpResponseRedirect(reverse("users:forget",kwargs={'email':email}))
         return render(request, 'usercenter/changepassword.html',
                       {'email': email})
     return render(request, 'usercenter/findpassword.html', {
         'email': email,
         'msg': '用户不存在'
     })
コード例 #24
0
ファイル: views.py プロジェクト: zhqlin/mxonline3
 def post(self, request):
     forget_form = ForgetPwdForm(request.POST)
     # form验证合法情况下取出email
     if forget_form.is_valid():
         email = request.POST.get('email', '')
         # 发送找回密码邮件
         send_email(email, 'forget')
         # 发送完毕返回登录页面并显示邮件发送成功
         return render(request, 'login.html', {'msg': '重置密码邮件已发送,请注意查收!'})
     # 如果表单验证失败也就是验证码输错等
     else:
         return render(request, 'forgetpwd.html',
                       {'forget_form': forget_form})
コード例 #25
0
 def post(self, request):
     form = ForgetPasswordForm(request.POST)
     if form.is_valid():
         try:
             email_obj = UserProfile.objects.get(
                 email=form.data.get('email'))
             email = email_obj.email
             send_email(email, 'forget')
             return HttpResponse(u'邮件已发送至你的邮箱,请前往邮箱查看')
         except UserProfile.DoesNotExist:
             return render(request, 'forgetpwd.html', {
                 'forget_form': form,
                 'msg': u'用户未注册'
             })
     return render(request, 'forgetpwd.html', {'forget_form': form})
コード例 #26
0
ファイル: views.py プロジェクト: zhqlin/mxonline3
 def post(self, request):
     register_form = RegisterForm(request.POST)
     if register_form.is_valid():
         user_name = request.POST.get('email', '')
         pass_word = request.POST.get('password', '')
         # 判断邮箱是否已经被注册
         all_record = UserProfile.objects.filter(email=user_name)
         if all_record:
             return render(request, 'register.html', {'msg': '该邮箱已经被注册!'})
         # 实例化一个user_profile对象,将前台值存入
         user_profile = UserProfile()
         user_profile.username = user_name
         user_profile.email = user_name
         # 加密password进行保存
         user_profile.password = make_password(pass_word)
         # 默认激活状态为false
         user_profile.is_active = False
         user_profile.save()
         # 发送注册激活邮件
         send_status = send_email(user_name, 'register')
         if send_status:
             return render(request, 'login.html',
                           {'msg': '注册完成,账号激活邮件已经发送,请查收!'})
         else:
             return render(request, 'register.html', {'msg': '注册邮件发送失败!'})
     else:
         return render(request, 'register.html',
                       {'register_form': register_form})
コード例 #27
0
    def post(self, request):
        email_obj = ForgetForm(request.POST)
        if email_obj.is_valid():
            # 获取邮箱
            email = request.POST['email']
            result = send_email(email, email_type='forget')

            if result == 1:
                # 确保数据库永远只有一条数据
                reset_email = ResetWithEmail.objects.filter(id=1)
                if reset_email:
                    reset_email[0].email = email
                    reset_email[0].save()
                else:
                    reset_email = ResetWithEmail()
                    reset_email.email = email
                    reset_email.save()

                return render(request, 'tips.html', {
                    'title': '邮件发送成功',
                    'url': '/login/reset/'
                })
            else:
                return render(request, 'forget.html', {'msg': '出现未知错误,邮件发送失败'})
        else:

            return render(request, 'forget.html', {'form': email_obj})
コード例 #28
0
ファイル: views.py プロジェクト: liaoxianfu/mxedu
 def post(self, request):
     register_form = RegisterForm(request.POST)
     if register_form.is_valid():
         # # 这里注册时前端的name为email
         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()
         send_email(user_name, "register")
     return render(request, "login.html")
コード例 #29
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_email(email, "forget")
             # return render(request, "send_success.html")
             return HttpResponseRedirect(reverse("login"))
         else:
             return render(request, "forgetpwd.html", {
                 "forget_form": forget_form,
                 "msg": u"该用户不存在"
             })
     else:
         return render(request, "forgetpwd.html",
                       {"forget_form": forget_form})
コード例 #30
0
ファイル: views.py プロジェクト: vevoly/StudyOnline2
 def get(request):
     email_code_form = UpdateEmailCodeForm(request.GET)
     ret = dict()
     if email_code_form.is_valid():
         email = email_code_form.cleaned_data['email']
         # 判断邮箱是否存在
         if UserProfile.objects.filter(email=email):
             ret['status'] = 'fail'
             ret['msg'] = '邮箱已存在!'
         else:
             # 发送验证码
             send_email(email, 'upd_email')
             ret['status'] = 'success'
     else:
         ret['status'] = 'fail'
         ret['msg'] = '邮箱格式输入有误!'
     return JsonResponse(ret)