一、tornado基于正则路由
1.controllers文件夹下home.py文件代码如下:
import tornado.web import tornado.ioloop class IndexHandler(tornado.web.RequestHandler): def get(self): self.render("index.html") #正则路由Handler class ZhengZeRouteHandler(tornado.web.RequestHandler): #get方法,接收两个参数,根据不同的参数返回不同的页面 def get(self, num, id): if num == "1": if id == "1": self.render("index.html") else: self.render("fenYe.html") else: self.render("zhengZe.html")
2.controllers文件夹下account.py文件代码如下:
import tornado.web import tornado.ioloop import home import os template_path = os.path.join(os.path.dirname(os.path.dirname(__file__)), "views") settings = { "template_path": template_path, "static_path": "statics", } app = tornado.web.Application([ #基本路由 (r"/index", home.IndexHandler), #基于正则路由 (r"/zhengze/(?P<num>\d*)/(?P<id>\d*)", home.ZhengZeRouteHandler), ], **settings) if __name__ == "__main__": app.listen(8090) tornado.ioloop.IOLoop.instance().start()
3.views文件夹下index.html文件代码如下:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <input type="text" name="userName"> <input type="text" name="pwd"> </body> </html>
4.views文件夹下fenYe.html文件代码如下:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <h1>这个正则路由的分页页面</h1> </body> </html>
5.views文件夹下zhengZe.html文件代码如下:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <h1 style="color: darkred;background-color: aliceblue">这是正则路由的正则页面</h1> </body> </html>
6.运行controllers文件夹下account.py文件,再浏览器中输入http://127.0.0.1:8090/zhengze/1/1即可路由访问index.html页面;输入http://127.0.0.1:8090/zhengze/1/2即可路由访问fenYe.html页面;输入http://127.0.0.1:8090/zhengze/2/1即可路由访问zhengZe.html页面