我有一个名为ApplicationController的基类,如下所示:
class ApplicationController():
@application_controller.before_request
def verify_auth():
if g.authenticated == False:
return send_to_login('You must be logged in to continue')
我想知道如何将继承与烧瓶蓝图一起使用。我希望从ApplicationController继承子类,以便在对ApplicationController的每个子控制器的每个请求上运行verify_auth方法
因此,示例AdvertiserReportsController看起来像这样,并且会在对AdvertiserReportsController的每个请求上运行ApplicationController的verify_auth方法:
class AdvertiserReportsController(ApplicationController):
@advertiser_reports.route('/some/route')
def some_route():
return jsonify({ 'success' : True })
但是,尽管继承,但每次请求对AdvertiserReportsController都不会运行verify_auth方法。这两个课程都在应用程序中注册了他们的蓝图。
所以现在我最终使用.before_request方法将verify_auth方法添加到ever控制器......这是重复的,似乎是错误的..
class AdvertiserReportsController(ApplicationController):
@advertiser_reports.before_request
def verify_auth():
if g.authenticated == False:
return send_to_login('You must be logged in to continue')
@advertiser_reports.route('/some/route')
def some_route():
return jsonify({ 'success' : True })