from flask import Flask,request,views from functools import wraps app = Flask(__name__) #自定義登錄裝飾器 def login_required(func): @wraps(func) def wapper(*args,**kwargs): username = request.args.get('username') if username and username == 'xiaowu': return func(*args,**kwargs) else: return '請先登錄' return wapper @app.route('/') def index(): return '網站首頁' @app.route('/setting/') @login_required def setting(): return '這是設置頁面' #類視圖怎么使用裝飾器 class ProfileView(views.View): decorators = [login_required] def dispatch_request(self): return "個人中心頁面" app.add_url_rule('/profile/',endpoint='profile',view_func=ProfileView.as_view( 'profile' )) if __name__ == '__main__': app.run(debug=True)