2016-06-19 52 views
0

我在向用戶發送確認令牌後,他們註冊確認他們的電子郵件。我遇到的問題是,我不能得到確認方法,因爲它需要用戶登錄,一旦他們去登錄方法,我不能找出如何將他們引回到確認方法。登錄重定向問題上的問題

注意的代碼是大量基於(非常好)的書「瓶Web開發」由格林貝格2014年

我們與新用戶從這裏開始報名:

@auth.route('/signup', methods=['GET', 'POST']) 
def signup(): 
     #validate form and create user 
     ... 
     token = user.generate_confirmation_token() 
     send_email(user.email, 'Please Confirm Email Address', 
       'email/confirm', user=user, token=token) 
     return redirect(url_for('auth.login')) 
    return render_template('auth/register.html', form=form) 

新用戶發送和電子郵件,當用戶點擊電子郵件中的鏈接,他們被送到這條路線:

@auth.route('/confirm/<token>') 
@login_required 
def confirm(token): 
    if current_user.confirmed: 
     return redirect(url_for('main.index')) 
    if current_user.confirm(token): 
     #do something here 
    else: 
     #message 
    return redirect(url_for('main.index')) 

由於需要登錄才能到確認端點,用戶在這裏˚F執導IRST:

@auth.route('/login', methods=['GET', 'POST']) 
def login(): 
    form = LoginForm() 
    if form.validate_on_submit(): 
     user = User.query.filter_by(email=form.email.data).first() 
     if user is not None and user.verify_password(form.password.data): 
      login_user(user) 
      return redirect(request.args.get('next') or url_for('main.index')) 
    return render_template('auth/login.html', form=form) 

我的問題是,用戶登錄他們不重定向到確認的路線,我無法工作,如何重定向到確認這種情況下,用戶只是在登錄後以便他們可以響應註冊電子郵件鏈接。有任何想法嗎?

回答

0

我也在學習這本書。雖然我不知道你有什麼問題,但我可以向你展示一些關鍵信息來解決你的問題。

所以你可以檢查你的URL是否有問題。 此外,我建議您在pycharm中調試您的代碼,因爲您可以設置斷點和跟蹤變量的更改。祝你好運。