2014-10-30 3 views
0

이 자습서는 here입니다. 로그인 페이지에 로그인 페이지가 표시됩니다. 제공자 중 하나를 클릭하고 제출 버튼을 클릭하면 페이지가 다시 로그인 페이지로 리디렉션됩니다. 여기서 내가 뭘 잘못하고 있니? 내가리디렉션에 관한 플라스크에 의문점이

@app.route('/login', methods=['GET', 'POST']) 
@oid.loginhandler 
def login(): 
    if g.user is not None and g.user.is_authenticated(): 
    return redirect(url_for('index')) 
    form = LoginForm() 
    if form.validate_on_submit(): 
    session['remember_me'] = form.remember_me.data 
    return oid.try_login(form.openid.data, ask_for=['nickname', 'email']) 
    return render_template('login.html', 
         title='Sign In', 
         form=form, 
         providers=app.config['OPENID_PROVIDERS']) 

@oid.after_login 
def after_login(resp): 
    if resp.email is None or resp.email=="": 
      flash('Invalid login. Please try again') 
      return redirect(url_for('login')) 
    user=User.query.filter_by(email=resp.email).first() 
    if user is None: 
      nickname= resp.nickname 
      if nickname is None or nickname == "": 
        nickname=resp.email.split('@')[0] 
      user= User(nickname=nickname, email=resp.email) 
      db.session.add(user) 
      db.session.commit() 
    remember_me=False 
    if 'remember_me' in session: 
      remember_me=session['remember_me'] 
      session.pop('remember_me', None) 
    login_user(user, remember = remember_me) 
    return redirect(request.args.get('next') or url_for('index')) 
+0

는 할당 않는 응용 프로그램의 설정을 설정해야 views.py 페이지에 다음 코드를'g.user'? – dirn

답변

1

당신이

app.config['SECURITY_POST_LOGIN_VIEW'] = '/post_login_page' 
app.config['SECURITY_POST_REGISTER_VIEW'] = '/register_complete' 
관련 문제