現(xiàn)在注冊玩之后跳轉(zhuǎn)到登錄界面,然后登錄后在進(jìn)行認(rèn)證,這一步我感覺多余,注冊成功后怎么直接跳轉(zhuǎn)到認(rèn)證頁面,并且是當(dāng)前注冊用戶登錄?相當(dāng)于注冊成功后省略登錄認(rèn)證這一步。
登錄:
@auth.route('/login',methods=['GET','POST'])
def login():
username = request.form.get('username')
password = request.form.get('password')
if username:
user = User.query.filter_by(username=username).first()
if user is not None and user.verify_passwd(password):
login_user(user)
return redirect(url_for('main.index'))
else:
error = '用戶名不存在或密碼錯(cuò)誤.'
return render_template('auth/login.html',error=error)
return render_template('auth/login.html',success=success)
注冊:
@auth.route('/register',methods=['GET','POST'])
def register():
error = []
if request.method == 'POST':
try:
new_user = User(username=request.form.get('username'),email=request.form.get('email'),password=request.form.get('confirm_password'))
db.session.add(new_user)
db.session.commit()
except:
error.append('用戶名或郵箱已被注冊.')
db.session.rollback()
else:
token = new_user.tokens()
send_email(new_user.email, 'Confirm Your Account','auth/email/confirm', user=new_user, token=token)
global success
success = '一封認(rèn)證郵件已發(fā)至您的郵箱,登陸后完成認(rèn)證即可訪問.'
return redirect(url_for('auth.login'))
return render_template('auth/register.html',error=error)
用戶認(rèn)證:
@auth.route('/confirm/<token>')
@login_required
def confirm(token):
if current_user.status:
return redirect(url_for('main.index'))
if current_user.loosen_tokens(token):
db.session.commit()
return redirect(url_for('main.index'))
添加回答
舉報(bào)
0/150
提交
取消