示例#1
0
def send_verified_email(request):
    if request.method == 'GET':
        return HttpResponseRedirect(reverse('user:settings'))
    user = request.user
    if user.email_verified:
        messages.error(request, '您的邮箱已验证')
        return HttpResponseRedirect(reverse('user:settings'))
    last_email = Email.objects.get(user=user)
    if (timezone.now() - last_email.timestamp).seconds < 60:
        messages.error(request, '一分钟内只能申请一次')
    else:
        try:
            email = Email.objects.get(user=user)
            email.token = email.generate_token()
            email.timestamp = timezone.now()
            email.save()
        except Email.DoesNotExist:
            email = Email(user=user)
            email.token = email.generate_token()
            email.save()
        finally:
            send_mail(
                '欢迎加入问问',
                '%s你好:\r\n请点击链接验证您的邮箱:%s%s' %
                (user.username, SITE_URL,
                 reverse('user:email_verified', args=(user.id, email.token))),
                DEFAULT_FROM_EMAIL,
                [user.email],
            )
            messages.success(request,
                             '邮件发送成功,请到您的邮箱进行邮箱验证。如果没有收到验证邮件,请查阅你的垃圾信箱。')
    return HttpResponseRedirect(reverse('user:settings'))
示例#2
0
def send_verified_email(request):
    if not request.method == 'POST':
        return redirect(reverse('user:settings'))

    user = request.user
    if user.email_verified:
        messages.error(request, '你的邮箱已经验证过了!')
        return redirect(reverse('user:settings'))
    last_email = Email.objects.get(user=user)
    if (timezone.now() - last_email.timestamp).seconds < 120:
        messages.error(request, '两分钟内只能申请一次!')
    else:
        try:
            email = Email.objects.get(user=user)
            email.token = email.generate_token()
            email.timestamp = timezone.now()
            email.save()
        except Email.DoesNotExist:
            email = Email(user=user)
            email.token = email.generate_token()
            email.save()
        finally:
            msg = '{} 你好:\r\n欢迎你注册成为会员,请点击链接验证你的邮箱bb:{}{}'.format(
                user.username, SITE_URL,
                reverse('user:email_verified',
                        kwargs={
                            'uid': user.id,
                            'token': email.token
                        }))
            send_mail('欢迎加入!', msg, FROM_EMAIL, [user.email])
            messages.success(request, '邮件已发送,请去邮箱验证!')
    return redirect(reverse('user:settings'))
示例#3
0
def send_verified_email(request):
    if request.method == "GET":
        return HttpResponseRedirect(reverse("user:settings"))

    user = request.user
    if user.email_verified:
        messages.error(request, u"您的邮箱已经验证过了")
        return HttpResponseRedirect(reverse("user:settings"))

    last_email = None
    try:
        last_email = Email.objects.get(user=user)
    except:
        pass

    if last_email and (timezone.now() - last_email.timestamp).seconds < (3600 * 2):
        messages.error(request, u'两小时内只能申请验证一次哦!')
    else:
        try:
            email = Email.objects.get(user=user)
            email.token = email.generate_token()
            email.timestamp = timezone.now()
            email.save()
        except Email.DoesNotExist:
            email = Email(user=user)
            email.token = email.generate_token()
            email.save()
        finally:
            send_mail(u"欢迎加入NSLoger!", u"%s 你好:\r\n 欢迎您注册成为NSLoger会员,请点击链接验证您的邮箱: %s%s" % (user.username,SITE_URL, reverse("user:email_verified", args=(user.id, email.token))),
                        "*****@*****.**", [user.email]
                    )
            messages.success(request, u"邮件已经发送,请去您的邮箱验证一下您的邮箱,如果未收到邮件,请去垃圾信箱看一下。")
    return HttpResponseRedirect(reverse("user:settings"))
示例#4
0
def send_verified_email(request):
    if request.method == 'GET':
        return HttpResponseRedirect(reverse('user:settings'))
    user = request.user
    if user.email_verified:
        messages.error(request,'您的邮箱已经验证过了.')
        return HttpResponseRedirect(reverse('user:settings'))
    try:
        last_email = Email.objects.get(user=user)

    except Email.DoesNotExist:
        pass

    if (timezone.now() - last_email.timestamp).seconds < 60:
        messages.error(request, '一分钟之内只能申请一次.')
    else:
        try:
            email = Email.objects.get(user=user)
            email.token = email.generate_token()
            email.timestamp = timezone.now()
            email.save()
        except Email.DoesNotExist:
            email = Email(user=user)
            email.token = email.generate_token()
            email.save()

        finally:
            send_mail("欢迎加入", "%s 你好:\r\n请点击链接验证你的邮箱:%s%s," % (
                user.username, SITE_URL, reverse('user:email_verified', args=(user.id, email.token))),
                      "*****@*****.**", [user.email])
            messages.success(request, '恭喜注册成功,请去您的邮箱验证。如果查不到邮件,那么可以垃圾邮箱中查收以下。')

    return HttpResponseRedirect(reverse('user:settings'))
示例#5
0
def register(request):
    if request.method == "POST":
        form = RegisterForm(request.POST)
        if form.is_valid():
            data = form.clean()
            new_user = Member.objects.create_user(
                username=data["username"], email=data["email"], password=data["password"]
            )

            # Email 验证
            # TODO
            new_user.save()

            email_verified = Email(user=new_user)
            email_verified.token = email_verified.generate_token()
            email_verified.save()

            send_mail(
                u"欢迎加入NSLoger",
                u"%s 你好:\r\n 请点击链接验证您的邮箱 %s%s"
                % (
                    new_user.username,
                    SITE_URL,
                    reverse("user:email_verified", args=(new_user.id, email_verified.token)),
                ),
                "*****@*****.**",
                [data["email"]],
            )
            messages.success(request, u"恭喜您注册成功,请去您的邮箱验证一下您的邮箱,如果未收到邮件,请去垃圾信箱看一下。")

            # 注册成功后自动登陆
            user = authenticate(email=data["email"], password=data["password"])
            auth_login(request, user)
            go = reverse("bbs:index")
            if request.session.get("next"):
                go = request.session.pop("next")

            is_auto_login = request.POST.get("auto")
            if not is_auto_login:
                request.session.set_expiry(0)
            return HttpResponseRedirect(go)
    else:
        form = RegisterForm()
    return render(request, "people/register.html", {"form": form})
示例#6
0
def register(request):
    if request.method == 'POST':
        form = RegisterForm(request.POST)
        if form.is_valid():
            data = form.cleaned_data
            new_user = Member.objects.create_user(username=data['username'],
                                                  email=data['email'],
                                                  password=data['password'])
            new_user.save()

            email_verified = Email(user=new_user)
            email_verified.token = email_verified.generate_token()
            email_verified.save()

            #此处进行邮箱验证
            try:
                send_mail(
                    '欢迎加入问问', '%s你好:\r\n请点击链接验证您的邮箱:%s%s' %
                    (new_user.username, SITE_URL,
                     reverse('user:email_verified',
                             args=(new_user.id, email_verified.token))),
                    DEFAULT_FROM_EMAIL, [
                        data['email'],
                    ])
            except:
                messages.error(
                    request, '由于测试期间服务器发送大量邮件,可能qq邮箱暂时禁止本站发送邮件,测试期间未验证邮箱不影响使用')
            messages.success(request,
                             '恭喜注册成功,请到您的邮箱进行邮箱验证。如果没有收到验证邮件,请查阅你的垃圾信箱。')
            user = authenticate(username=data['username'],
                                password=data['password'])
            auth_login(request, user)
            go = reverse('question:index')
            is_auto_login = request.POST.get('auto')
            if not is_auto_login:
                request.session.set_expiry(0)
            else:
                request.session.set_expiry(60)
            return HttpResponseRedirect(go)
    else:
        form = RegisterForm()
    return render(request, 'people/register.html', {'form': form})
示例#7
0
文件: handle.py 项目: wjaneal/ICS4U
def register(request):
    if request.method == 'POST':
        form = RegisterForm(request.POST)
        if form.is_valid():
            data = form.cleaned_data
            new_user = Member.objects.create_user(username=data['username'],
                                                  email=data['email'],
                                                  password=data['password'])

            new_user.save()

            email_verified = Email(user=new_user)
            email_verified.token = email_verified.generate_token()
            email_verified.save()

            #email_verified
            send_mail(
                "Welcome",
                "%s Hello:\r\nplease click the link below to verify your email:%s%s"
                % (new_user.username, SITE_URL,
                   reverse('user:email_verified',
                           args=(new_user.id, email_verified.token))),
                "*****@*****.**", [data['email']])
            messages.success(
                request,
                'congratulations,please check the message in your email address.'
            )
            user = authenticate(email=data['email'], password=data['password'])
            #check
            auth_login(request, user)
            #login
            go = reverse('question:index')
            is_auto_login = request.POST.get('auto')
            if not is_auto_login:
                request.session.set_expiry(0)
            else:
                request.session.set_expiry(60)

            return HttpResponseRedirect(go)
    else:
        form = RegisterForm()
    return render(request, 'people/register.html', {'form': form})
示例#8
0
def register(request):
    if request.method == 'POST':
        form = RegisterForm(request.POST)
        if form.is_valid():
            data = form.cleaned_data
            new_user = Member.objects.create_user(
                username=data['username'],
                email=data['email'],
                password=data['password2'],
            )
            new_user.save()
            email_verified = Email(user=new_user)
            email_verified.token = email_verified.generate_token()
            email_verified.save()

            msg = "{} 你好:\r\n请点击链接验证你的邮箱:{}{}".format(
                new_user.username, SITE_URL,
                reverse('user:email_verified',
                        kwargs={
                            'uid': new_user.id,
                            'token': email_verified.token
                        }))
            send_mail('欢迎加入', msg, FROM_EMAIL, [data['email']])
            messages.success(request, '注册成功,请去你的邮箱进行验证!')

            user = authenticate(email=data['email'],
                                password=data['password2'])
            auth_login(request, user)
            go = reverse('question:index')
            is_auto_login = request.POST.get('auto', False)
            if not is_auto_login:
                request.session.set_expiry(0)
            else:
                time = datetime.timedelta(days=30)
                request.session.set_expiry(time)
            return redirect(go)
    else:
        form = RegisterForm()
    return render(request, 'people/register.html', {'form': form})
示例#9
0
def register(request):
    if request.method == "POST":
        form = RegisterForm(request.POST)
        if form.is_valid():
            data = form.clean()
            new_user = Member.objects.create_user(username=data["username"],
                                                  email=data["email"],
                                                  password=data["password"])

            # Email 验证
            # TODO
            new_user.save()

            email_verified = Email(user=new_user)
            email_verified.token = email_verified.generate_token()
            email_verified.save()

            send_mail(u"欢迎加入NSLoger", u"%s 你好:\r\n 请点击链接验证您的邮箱 %s%s" % (new_user.username,SITE_URL, reverse("user:email_verified", args=(new_user.id, email_verified.token))),
                       "*****@*****.**", [data["email"]]
                    )
            messages.success(request, u"恭喜您注册成功,请去您的邮箱验证一下您的邮箱,如果未收到邮件,请去垃圾信箱看一下。")

            #注册成功后自动登陆
            user = authenticate(email=data["email"], password=data["password"])
            auth_login(request, user)
            go = reverse("bbs:index")
            if request.session.get("next"):
                go = request.session.pop("next")

            is_auto_login = request.POST.get('auto')
            if not is_auto_login:
                request.session.set_expiry(0)
            return HttpResponseRedirect(go)
    else:
        form = RegisterForm()
    return render(request, 'people/register.html', {
        'form': form,
        })
示例#10
0
def profile(request):
    user = request.user
    if request.method == "POST":
        form = ProfileForm(request.POST, instance=user)
        if form.is_valid():
            user = form.save(commit=False)
            if user.email != form.old_email:
                user.email_verified = False
                try:
                    email_verified = Email.objects.get(user=user)
                except DoesNotExist:
                    email_verified = Email(user=user)
                email_verified.token = email_verified.generate_token()
                email_verified.save()
            user.save()
            messages.success(request, '设置已更新')
            return render(request, 'people/settings.html', {'form': form})
    else:
        form = ProfileForm(instance=user)

    q = Auth(AK, SK)
    buket_name = 'wenwenavatar'
    key_name = 'wenwenavatar/' + user.username
    returnBody = '{"name":$(fname),"key":$(key)}'
    returnUrl = SITE_URL + reverse('user:upload_headimage')
    mimeLimit = 'image/jpeg;image/png;'
    policy = {
        'returnUrl': returnUrl,
        'returnBody': returnBody,
        'mimeLimit': mimeLimit,
        'insertOnly': 0,
    }
    uptoken = q.upload_token(buket_name, key_name, 3600, policy)
    return render(request, 'people/settings.html', {
        'form': form,
        'user': user,
        'uptoken': uptoken,
    })
示例#11
0
文件: handle.py 项目: ericls/NSLoger
def send_verified_email(request):
    if request.method == "GET":
        return HttpResponseRedirect(reverse("user:settings"))

    user = request.user
    if user.email_verified:
        messages.error(request, u"您的邮箱已经验证过了")
        return HttpResponseRedirect(reverse("user:settings"))

    try:
        email = Email.objects.get(user=user)
        email.token = email.generate_token()
        email.save()
    except Email.DoesNotExist:
        email = Email(user=user)
        email.token = email.generate_token()
        email.save()
    finally:
        send_mail(u"欢迎加入NSLoger", u"请点击链接验证您的邮箱 %s%s" % (SITE_URL, reverse("user:email_verified", args=(user.id, email.token))),
                    "*****@*****.**", [user.email]
                )
        messages.success(request, u"邮件已经发送,请去您的邮箱验证一下您的邮箱,如果未收到邮件,请去垃圾信箱看一下。")
        return HttpResponseRedirect(reverse("user:settings"))
示例#12
0
def register(request):
    if request.method == 'POST':
        form = RegisterForm(request.POST)
        if form.is_valid():
            data = form.cleaned_data
            new_user = Member.create_user(username=data['username'],
                                          email=data['email'],
                                          password=data['password'])

            new_user.save()

            email_verified = Email(user=new_user)
            email_verified.token = email_verified.generate_token()
            email_verified.save()

            # email_verified -> 邮箱验证函数
            send_mail("欢迎加入", "%s 你好:\r\n请点击链接验证你的邮箱:%s%s," % (
                new_user.username, SITE_URL, reverse('user:email_verified', args=(new_user.id, email_verified.token))),
                      "*****@*****.**", [data['email']])
            messages.success(request,'恭喜注册成功,请去您的邮箱验证。如果查不到邮件,那么可以垃圾邮箱中查收以下。')
            # *******check django 函数验证登录用户名和密码 *************
            user = authenticate(email=data['email'],password=data['password'])
            # login
            auth_login(request,user)

            go = reverse('question:index')

            is_auto_login = request.POST.get('auto')
            if not is_auto_login:
                request.session.set_expiry(0)
            else:
                request.session.set_expiry(60)

            return HttpResponseRedirect(go)
    else:
        form = RegisterForm()
    return render(request,'people/register.html',{'form':form})