【问题标题】:dynamic handler creation in tornado web appTornado Web 应用程序中的动态处理程序创建
【发布时间】:2019-05-03 13:57:56
【问题描述】:

我正在寻找一种可以根据配置创建处理程序的方法。配置将包含 http 动词、授权用户列表以及为给定的处理程序和动词组合执行的逻辑。

这里我想避免每个开发人员编写从 RequestHandler 派生的类,让他们专注于逻辑来拉取数据。由于其余代码对于身份验证和响应生成都是通用的,因此他们只需指定他们期望的请求类型,例如 GET 或 POST,以及谁是发送此类请求的授权用户。

tornado 中是否有任何开箱即用的选项来实现这一目标?

【问题讨论】:

    标签: python tornado


    【解决方案1】:

    这可以使用默认处理程序来实现,该处理程序可以处理任何请求。虽然这不会创建多个龙卷风处理程序,但只会创建 1 个基于正则表达式来捕获请求并采取相应措施的处理程序。以下是我如何实现它的示例:

    class DefaultHandler( tornado.web.RequestHandler ):
        def get( self ):
            path = self.request.path
            parameters = self.request.arguments
            #action to perform based on path and parameters
    
    handlers = [ ( r'/.*', DefaultHandler), ]
    app = tornado.web.Application( handlers )
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-08-20
      • 1970-01-01
      • 2011-06-23
      • 2011-12-31
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多