필자는 도우미 데코레이터를 제공하는 flask-auth를 사용하고 있습니다. 아래에 다양한 방법을 모두 추가했지만, 궁금한 점은 authorized_handler
데코레이터에서 발생하는 문제를 잡는 방법입니다. 데코레이터에 대한 일반적인 질문이지만 실제 예제가 도움이 될 것으로 생각했습니다.데코레이터에서 발생한 오류를 어떻게 catch합니까?
데코레이터가 터지면 어떻게 잡을 수 있습니까?
import os
import flask
import flask_oauth
CONSUMER_KEY = os.environ['CONSUMER_KEY']
CONSUMER_SECRET = os.environ['CONSUMER_SECRET']
oauth = flask_oauth.OAuth()
twitter = oauth.remote_app(
'twitter',
base_url='https://api.twitter.com/1/',
request_token_url='https://api.twitter.com/oauth/request_token',
access_token_url='https://api.twitter.com/oauth/access_token',
authorize_url='https://api.twitter.com/oauth/authenticate',
consumer_key=CONSUMER_KEY,
consumer_secret=CONSUMER_SECRET
)
app = flask.Flask(__name__)
@app.route('/login')
def login():
return twitter.authorize(
callback=url_for(
'oauth_authorized',
next=request.args.get('next') or request.referrer or None)
)
@app.route('/oauth-authorized')
# what happens if this raises an error?
@twitter.authorized_handler
def oauth_authorized(resp):
print 'foo-bar'
감사합니다. 위대하고 포괄적 인 대답입니다. –