欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

20201209Introduction_To_Tornado 学习01

程序员文章站 2024-01-09 23:01:04
使用tornado搭建简单的web服务from tornado.options import define, parse_command_line, optionsfrom tornado.web import RequestHandlerimport tornado.httpserverimport tornado.ioloopdefine("port", default=1010, help="port----", type=int)define("debug", default=Fals...

使用tornado搭建简单的web服务

from tornado.options import define, parse_command_line, options
from tornado.web import RequestHandler
import tornado.httpserver
import tornado.ioloop

define("port", default=1010, help="port----", type=int)
define("debug", default=False, help="debug----")


class IndexHandelr(RequestHandler):
    def get(self):
        self.write("hello-wordl!")

class IndexHandler2(RequestHandler):
    def get(self, name: str):
        self.write(name)

if __name__ == '__main__':
    parse_command_line()
    app = tornado.web.Application([(r"/index", IndexHandelr), 
                                   (r"/get/(\d+)", IndexHandler2)], 
                                  debug=options.debug)
    http_server = tornado.httpserver.HTTPServer(app)
    http_server.listen(options.port)
    tornado.ioloop.IOLoop.instance().start()

访问地址:http://127.0.0.1:1010/index,得到write中的内容

  • define中设置的属性会成为options中的全局属性,define中的type参数是校验对应的值类型,如果不是相应的类型将会抛出异常, 访问对应的端口和调试模式使用options.port, options.debug
  • parse_command_line() 方法:解析命令行参数,运行py文件时:python app.py --port=1010 --debug=1,就能解析出其中的port和debug参数值
  • IndexHandler是相应类,能使用不同的handler对应不同的路由来相应请求
  • Application对象被创建之后传给HttpServer对象,然后使用指定的端口监听(options.port)
  • 路由(r"/"),可以是正则表达式,一个handler可以对应多个路由,这些路由执行的都是对应handler中的请求方法
  • (\d+)是使用正则表达式,d可以传数值

常用的http状态码

本文地址:https://blog.csdn.net/ayangann915/article/details/110928145

相关标签: 后端 python