20201209Introduction_To_Tornado 学习01

使用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状态码
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
在过去的五年里,Web开发人员的可用工具实现了跨越式地增长。当技术专家不断推动极限,使Web应用无处不在时,我们也不得不升级我们的工具、创建框架以保证构建更好的应用。我们希望能够使用新的工具,方便我们写出更加整洁、可维护的代码,使部署到世界各地的用户时拥有高效的可扩展性。 这就让我们谈论到Tornado,一个编写易创建、扩展和部署的强力Web应用的梦幻选择。我们三个都因为Tornado的速度、简单和可扩展性而深深地爱上了它,在一些个人项目中尝试之后,我们将其运用到日常工作中。我们已经看到,Tornado在很多大型或小型的项目中提升了开发者的速度(和乐趣!),同时,其鲁棒性和轻量级也给开发者一次又一次留下了深刻的印象。 本书的目的是对Tornado Web服务器进行一个概述,通过框架基础、一些示例应用和真实世界使用的最佳实践来引导读者。我们将使用示例来详细讲解Tornado如何工作,你可以用它做什么,以及在构建自己第一个应用时要避免什么。 在本书中,我们假定你对Python已经有了粗略的了解,知道Web服务如何运作,对数据库有一定的熟悉。有一些不错的书籍可以为你深入了解这些提供参考(比如Learning Python,Restful Web Service和MongoDB: The Definitive Guide)。 你可以在Github上获得本书中示例的代码。如果你有关于这些示例或其他方面的任何思想,欢迎在那里告诉我们。 所以,事不宜迟,让我们开始深入了解吧!
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值