首页 > 解决方案 > python + tornado:导入请求处理程序上的 404

问题描述

我正在尝试使用 python 构建一个龙卷风应用程序。我已经能够构建一个基本的路由系统:

class MainHandler(tornado.web.RequestHandler):
   def get(self):
      self.write("Default endpoint.")

class CountHandler(tornado.web.RequestHandler):
   def get(self):
      self.write("Count endpoint.")

if __name__ == "__main__":
   application = tornado.web.Application([
      (r"/", MainHandler),
      (r"/count", CountHandler),
  ])
  application.listen(8888)
  tornado.ioloop.IOLoop.instance().start()

我想要实现的是导入那些处理程序类(从特定handlers文件夹)而不是在这个文件中定义它们(它们可能会变得更大)。为此,我已将我的CountHandler类提取到它自己的单独文件中,并且我正在将其导入:

from handlers import CountHandler

class MainHandler(tornado.web.RequestHandler):
   def get(self):
      self.write("Default endpoint.")

if __name__ == "__main__":
   application = tornado.web.Application([
      (r"/", MainHandler),
      (r"/count", CountHandler),
  ])
  application.listen(8888)
  tornado.ioloop.IOLoop.instance().start()

CountHandler课程没有任何变化,但现在我的端点上得到了404 /count。难道我做错了什么 ?

标签: pythontornado

解决方案


修复 !

在我的导入中,我导入了整个CountHandler库。因此,如果我想CountHandler在我的代码中使用该类,它应该是CountHandler.CountHandler( ImportedLib.Myclass)


推荐阅读