Import 带有Tornado web服务器的外部页面
我在Python页面中有一个处理程序,它是按照Tornado web服务器的指导方针编写的。我想把这个处理程序放在另一个页面中,它总是与Tornado的python主页面链接 这样,我可以创建一个新页面,这样我就可以有一个好的项目,而不是一个千篇一律的页面 多谢各位Import 带有Tornado web服务器的外部页面,import,handler,tornado,Import,Handler,Tornado,我在Python页面中有一个处理程序,它是按照Tornado web服务器的指导方针编写的。我想把这个处理程序放在另一个页面中,它总是与Tornado的python主页面链接 这样,我可以创建一个新页面,这样我就可以有一个好的项目,而不是一个千篇一律的页面 多谢各位 class BaseHandler(tornado.web.RequestHandler): @tornado.web.removeslash def get_current_user(self):
class BaseHandler(tornado.web.RequestHandler):
@tornado.web.removeslash
def get_current_user(self):
return self.get_secure_cookie("mechtari")
@property
def db(self):
if not hasattr(BaseHandler,"_db"):
_db = pymongo.Connection().essog
return _db
@property
def fs(self):
if not hasattr(BaseHandler,"_fs"):
_fs = gridfs.GridFS(self.db)
return _fs
现在我要做的所有事情都将从这个处理程序继承:
class LoginHandler(BaseHandler):
def post(self):
# do a database search, so i need to connect to database, so no need to the database everytime and make the connection.
class AchatsHandler(BaseHandler):
@tornado.web.authenticated
def get(self):
# render me a page that requires a user to be authentificated, so i always use the base handler
在url规范中,您只需要精确定义类的名称以将它们绑定到url
urls = [
(r"/login", handlers.LoginHandler),
(r"/achats/*", handlers.AchatsHandler),
]
看看,url词汇表中没有BaseHandler如果您谈论处理程序,那么使用对象继承NewHandler(OldHandler),但所有初始配置?我只在外部页面中编写新的处理程序??你是说使用tornado的多域(example1.com example2.com,具有相同的tornado实例)?不,我是说在tornado中调用处理程序的同一个实例,该处理程序在另一个页面中,而不是在tornado的主页中,我将所有的定义、导入和类应用程序放在那里。。。对不起,我的重点是面向对象编程继承:这对于不重复代码特别有用:p