zoukankan      html  css  js  c++  java
  • tornado路由映射(2)

    [
        (r"/", Indexhandler),
        (r"/cpp", ItcastHandler, {"subject":"c++"}),
        url(r"/python", ItcastHandler, {"subject":"python"}, name="python_url")
    ]
    第一个是使用使用普通的二元元组,构建路由映射列表

     路由中的字典,会传入到对应的RequestHandler的initialize()方法中:

    from tornado.web import RequestHandler
    class ItcastHandler(RequestHandler):
        def initialize(self, subject):
            self.subject = subject
    
        def get(self):
            self.write(self.subject)
    对于路由中的name字段,注意此时不能再使用元组,而应使用tornado.web.url来构建。name是给该路由起一个名字,
    可以通过调用RequestHandler.reverse_url(name)来获取该名子对应的url。

    全部代码:

    # coding:utf-8
    
    import tornado.web
    import tornado.ioloop
    import tornado.httpserver
    import tornado.options
    from tornado.options import options, define
    from tornado.web import url, RequestHandler
    
    define("port", default=8000, type=int, help="run server on the given port.")
    
    class IndexHandler(RequestHandler):
        def get(self):
            python_url = self.reverse_url("python_url")
            self.write('<a href="%s">itcast</a>' %
                       python_url)
    
    class ItcastHandler(RequestHandler):
        def initialize(self, subject):
            self.subject = subject
    
        def get(self):
            self.write(self.subject)
    
    if __name__ == "__main__":
        tornado.options.parse_command_line()
        app = tornado.web.Application([
                (r"/", Indexhandler),
                (r"/cpp", ItcastHandler, {"subject":"c++"}),
                url(r"/python", ItcastHandler, {"subject":"python"}, name="python_url")
            ],
            debug = True)
        http_server = tornado.httpserver.HTTPServer(app)
        http_server.listen(options.port)
        tornado.ioloop.IOLoop.current().start()
  • 相关阅读:
    C# Log4.Net日志组件的应用系列(二)
    C# Log4.Net日志组件的应用系列(一)
    使用TFS+GIT实现分布式项目管理
    动软代码生成器使用教程
    SVN使用教程
    windows系统重装流程
    使用纯真IP库获取用户端地理位置信息
    使用扩展方法重写.NET底层架构
    使用单例模式创建模型仓储层的唯一调用
    使用SQL Delta.v5.1.1.98.破解版同步数据结构
  • 原文地址:https://www.cnblogs.com/topass123/p/13090985.html
Copyright © 2011-2022 走看看