Exemplo n.º 1
0
def register():
    form = Register()
    if form.validate_on_submit():
        #实例化user模型类
        u = User(username=form.username.data,
                 password=form.password.data,
                 email=form.email.data)
        db.session.add(u)
        db.session.commit()
        #获取刚创建的user的id,并和superuser关联起来
        u = User.query.filter_by(username=form.username.data)[0]
        uid = u.id
        s = Superuser.query.filter_by(id=1)[0]
        s.users.append(u)
        # db.session.add(s)
        db.session.commit()
        #生成token
        token = u.generate_token()
        #发送邮件
        send_mail('邮件激活',
                  form.email.data,
                  'activate',
                  username='******',
                  token=token)
        #提示用户注册称该
        flash('注册成功请去邮箱中激活')
        #跳转到登录页面
        return redirect(url_for('user.login'))
    return render_template('user/register.html', form=form)
Exemplo n.º 2
0
Arquivo: user.py Projeto: Paddyy/flask
def register():
    form = RegisterForm()
    if form.validate_on_submit():
        #根据数据生成对象
        u = User(
            username=form.username.data,
            email=form.email.data,
            password=form.password.data,
        )
        print('*' * 50)
        print(u.username)
        #保存对象
        db.session.add(u)
        # 必须提交
        db.session.commit()

        token = u.generate_activate_token()
        send_mail('Paddy论坛账户激活',
                  form.email.data,
                  'user/activate',
                  username=form.username.data,
                  token=token)
        flash('邮件已发送,请点击链接完成用户激活')
        #跳转页面
        return redirect(url_for('main.index'))
    return render_template('user/register.html', form=form)
Exemplo n.º 3
0
def send_email():
    send_mail(subject='激活',
              recipients='*****@*****.**',
              email_tmp='active',
              username='******')

    return '邮箱发送成功'
Exemplo n.º 4
0
def register():
    form = Register()
    if form.validate_on_submit():
        u = User(username=form.username.data,password=form.userpass.data,email=form.email.data)
        u.save()
        token = u.generate_token() #获取token值
        send_mail('账户激活',u.email,username=u.username,token=token)
        flash('账户注册成功!请前往邮箱中进行账户的激活')
        return redirect(url_for('user.login'))
    return render_template('user/register.html',form=form)
Exemplo n.º 5
0
def register():
    form = Register()
    if form.validate_on_submit():
        u = User(username=form.username.data,password=form.userpass.data,email=form.email.data)
        u.save()
        token = u.generate_token() #生成token值
        send_mail('账户激活',u.email,'activate',username=u.username,endpoint='user.activate',token=token)
        flash('恭喜注册成功 请前去邮箱进行激活')
        return redirect(url_for('user.login'))
    return render_template('user/register.html',form=form)
Exemplo n.º 6
0
def register():
    form = Register()
    if form.validate_on_submit():
        u = User(username=form.username.data,password=form.userpass.data,email=form.email.data)
        db.session.add(u)
        db.session.commit()
        token = u.generate_token()
        # return token
        send_mail('邮件激活',form.email.data,'activate',username=form.username.data,token=token,urlFor='user.activate')
        flash('注册成功 请注意查收')
        return redirect(url_for('user.login')) #注册成功 跳转到登录
    return render_template('user/register.html',form=form)
Exemplo n.º 7
0
def register():
    form = Register()
    # form.hidde.data = 'hiddenvalue'
    if form.validate_on_submit():
        u = User(username=form.username.data,
                 password=form.userpass.data,
                 email=form.email.data)
        u.save()
        token = u.generate_token()
        send_mail('账户激活', u.email, username=u.username, token=token)
        return redirect(url_for('user.login'))
    return render_template('user/register.html', form=form)
Exemplo n.º 8
0
def again_activate():
    form = AgainActivate()
    if form.validate_on_submit():
        u = User.query.filter_by(username=form.username.data).first()
        if not u:
            flash('激活用户不存在')
        elif u.confirm:
            flash('该用户已经激活 请前去登录')
        elif not u.check_password(form.userpass.data):
            flash('密码不正确')
        else:
            token = u.generate_token()
            send_mail('邮箱激活',u.email,username=u.username,token=token)
            flash('激活邮件已发送 请前去邮箱中激活')
    return render_template('user/again_activate.html',form=form)
Exemplo n.º 9
0
def changeemail():
    form = Changeemail()
    if form.validate_on_submit():
        u = current_user
        if not u.check_password(form.userpass.data):
            return '密码输入错误'
        else:
            u.email = form.email.data
            token = u.generate_token()
            send_mail('新邮箱激活', u.email, token=token)
            u.confirm = False
            if not u.confirm:
                u.save()
                return redirect(url_for('user.logout'))
    return render_template('user/changeemail.html', form=form)
Exemplo n.º 10
0
def register():
    # 实例化注册表单类
    form = Register()
    if form.validate_on_submit():
        # 实例化存储注册表单数据
        u = User(username=form.username.data, password=form.userpass.data,email=form.email.data)
        u.save()
        # 调用获取token的方法
        token = u.generate_token()
        # 发送邮件激活
        send_mail('账户激活', form.email.data,username=form.username.data, token=token)
        flash('注册成功,请前去邮箱激活')
        # 成功去登录
        return redirect(url_for('user.login'))
    return render_template('user/register.html', form=form)
Exemplo n.º 11
0
def again_activate():
    form = AgainActivate()
    if form.validate_on_submit():
        u = User.query.filter_by(username=form.username.data).first()
        if not u.check_password(form.userpass.data):
            flash('请输入正确的密码')
        elif u.confirm:
            flash('该账户已经激活 请前往登录')
        else:
            token = u.generate_token()  # 生成token值
            send_mail('账户激活', u.email, 'again_activate', username=u.username, endpoint='user.activate', token=token)
            flash('激活邮件发送成功 请前去邮箱进行激活')
            return redirect(url_for('user.login'))

    return render_template('user/again_activate.html',form=form)
Exemplo n.º 12
0
def update_email():
    form = Update_email()
    if form.validate_on_submit():
        u = User.query.filter_by(username=current_user.username).first()
        u.email = form.email.data
        u.confirm = False
        u.save()
        token = u.generate_token()  # 生成token值
        send_mail('账户激活',
                  u.email,
                  'again_activate',
                  username=u.username,
                  endpoint='user.activate',
                  token=token)
        flash('修改邮箱成功 激活邮件发送成功 请前去邮箱激活')
        return redirect(url_for('main.index'))
    return render_template('user/update_email.html', form=form)
Exemplo n.º 13
0
def do_register(request):
    if request.method == 'POST':
        u = User()
        u.username = request.POST.get('username')
        u.email = request.POST.get('email')
        u.password = request.POST.get('password')
        if request.POST.get('password') == request.POST.get('cpassword'):
            u.save()
            request.session['user'] = u.username
            request.session.set_expiry(600)
            redis.incr('online_user')
            token = u.generate_activate_token()
            url = 'http://10.0.129.114:8000/blog/useractivate/?token=%s'%token
            message = '<h3>你好,%s</h3><a href=%s>点我激活</a>'%(u.username,url)
            print('-------------------',message)
            send_mail(u.email,message,token=token)
            return HttpResponse('你好,激活邮件已经发送至你的 邮箱,快去激活吧')
Exemplo n.º 14
0
def again_active():
    form = AgainActive()
    if form.is_submitted():
        u = User.query.filter(User.username == form.username.data).first()
        if not u:
            flash('请输入正确的用户名或密码....')
        elif not u.check_password(form.userpass.data):
            flash('请输入正确的用户名或密码')
        elif not u.confirm:
            # 调用获取token的方法
            token = u.generate_token()
            # 发送邮件激活
            send_mail('账户再次激活', u.email,tem='again_active', username=form.username.data, token=token)
            flash('激活邮件发送成功,请前去邮箱激活')
        else:
            flash('该账户已经激活,请前去登录...')
    return render_template('user/again_active.html', form=form)
Exemplo n.º 15
0
def register():
    # 生成表单
    form = UserRegister()
    # 判断是否提交,数据合理性
    if form.validate_on_submit():
        # 获取表单数据
        # username = form.username.data
        user = Users(username=form.username.data,
                     password=form.password.data,
                     mail=form.email.data)

        # 保存图片
        avatar = form.avatar.data
        avatar_name = avatar.filename
        # 图片后缀
        suffix = os.path.splitext(avatar_name)[1]
        affix = uuid.uuid4()
        # 图片名
        avatar_name = str(affix) + suffix

        # 使用上传集保存图片
        photos.save(avatar, name=avatar_name)

        user.avatar = avatar_name
        # 保存
        db.session.add(user)
        # 保证数据库必须有数据
        # 提交 自动保存是 方法执行完才提交
        db.session.commit()

        # 认识是哪个用户
        # 手动构建的一个会话 token
        # 生成一个token
        token = user.generate_token()
        # 激活相对应用户
        # 发送激活邮件
        send_mail(subject='用户激活',
                  recipients=form.email.data,
                  email_tmp='active',
                  username=form.username.data,
                  token=token)
        flash('邮件已发送,请跳转激活')

    return render_template('user/register.html', form=form)
Exemplo n.º 16
0
def accountactivation():
    form = AccountActivate()
    if form.validate_on_submit():
        #查询用户输入的数据是否存在
        u = User.query.filter_by(username=form.username.data,email=form.email.data).first()
        if not u: #用户不存在
            flash('您输入的信息有误 请重新输入')
        elif u.confirm: #用户已激活
            flash('该账户已经激活 请去登录')
        #检测密码
        elif not u.check_password(form.userpass.data):
            flash('您输入的密码有误')
        #生成token 发送邮件
        else:
            token = u.generate_token()
            send_mail('邮件激活',form.email.data, 'activate', username=form.username.data, token=token,
                      urlFor='user.activate')
            flash('邮件发送成功 请注意查收')
            return redirect(url_for('user.login'))
    return render_template('user/accountactivate.html',form=form)
Exemplo n.º 17
0
def accountactivation():
    form = AccountActivate()
    if form.validate_on_submit():
        u = User.query.filter_by(username=form.username.data,
                                 email=form.email.data).first()
        if not u:
            flash('请输入正确的信息')
        elif not u.confirm:
            flash('该账户已经激活,请去登录')
        elif not u.check_password(form.userpass.data):
            flash('您输入的密码有误')
        else:
            token = u.generate_token()
            send_mail('activate email',
                      form.email.data,
                      'activate',
                      usernam=form.username.data,
                      token=token,
                      urlFor='user.activate')
            flash('激活成功,请登录')
    render_template('user/accountactivate.html', form=form)
Exemplo n.º 18
0
def again_active():
    form = AgainActive()
    if form.validate_on_submit():
        u = User.query.filter(User.username == form.username.data).first()
        # print(u)
        if not u:
            flash("请输入争取的用户名或密码...")
        elif not u.check_password(form.userpass.data):
            flash('请输入正确的用户名或密码')
        elif not u.confirm:
            # 调用获取生成token的方法
            token = u.generate_token()
            # 发送邮件激活
            send_mail('账户激活',
                      u.email,
                      username=form.username.data,
                      token=token)
            flash('激活邮件发送成功 前去邮箱进行激活')
        else:
            flash('该账户已经激活 请前去登录...')
    return render_template('user/again_active.html', form=form)
Exemplo n.º 19
0
Arquivo: user.py Projeto: zaiwang/blog
def register():
    form = Register()
    if form.validate_on_submit():
        #实例化user模型类
        u = User(username=form.username.data,
                 password=form.password.data,
                 email=form.email.data)
        db.session.add(u)
        db.session.commit()
        #生成token
        token = u.generate_token()
        #发送邮件
        send_mail('邮件激活',
                  form.email.data,
                  'activate',
                  username=form.username.data,
                  token=token)
        #提示用户注册称该
        flash('注册成功请去邮箱中激活')
        #跳转到登录页面
        return redirect(url_for('user.login'))
    return render_template('user/register.html', form=form)