对于使用习惯Django的我来说,tornado实在是很简陋,没有那么多复杂的文件分类。

在tornado中,一个简单web只需要十几行简单的代码就OK了

import tornado.web
import tornado.ioloop class IndexHandler(tornado.web.RequestHandler): def get(self, *args, **kwargs):
self.write("hello") settings = {}
app = tornado.web.Application([
('/index', IndexHandler),
], **settings) if __name__ == "__main__":
app.listen('')
tornado.ioloop.IOLoop.instance().start()

看见莫有,简单吧。。。

  一个app做路由映射,一个class作为逻辑处理(对应映射的逻辑处理),通过tornado的IOLoop启动web服务。还有就是一些默认路劲的配置,写在settings中就可以了。例如: settings = {"template_path": 'views'}

  注意1:在类的get方法中,不用写return,如果self.write()后面还有代码的话,它还会继续往下执行,如果不需要执行的话,那就使用return就行,就不会继续往下执行了。在tornado中三个返回的方法 write,render,redirect分别对应Django的HTTPResponse,render,redirect

  注意2:如果render返回了参数,在模板中与Django一样用{{  }}获取参数,但是tornado如果模板中使用的参数调用的话,在后端逻辑必须返回那个参数,否则就会报错。Django不一样,后端没有返回,前端调用不会出错。

  在逻辑类里面,get()对应get请求,post对应post请求,通过使用

self.get_cookie() # 获取cookies     tornado中没有session,可以通过cookie保存信息
self.get_argument() # 获取请求参数
。。。。 注意3:在设置cookie时如果是加密的,那么需要在settings中配置'cookie_secret': 'ahsfkasjasfasd', 而且设置cookie,必须在使用write,render,redirect之前,否则不能设置上cookie

tornado 初解的更多相关文章

  1. Python(九)Tornado web 框架

    一.简介 Tornado 是 FriendFeed 使用的可扩展的非阻塞式 web 服务器及其相关工具的开源版本.这个 Web 框架看起来有些像web.py 或者 Google 的 webapp,不过 ...

  2. 使用tornado,我们可以做什么?

    以下介绍都是建立在python2.x的基础上面,tornado使用任意版本皆可. 如果我们需要对外提供一个http server(web api)/websocket server时,我们都可以使用t ...

  3. tornado session

    [转]tornado入门 - session cookie 和session 的区别: 1.cookie数据存放在客户的浏览器上,session数据放在服务器上. 2.cookie不是很安全,别人可以 ...

  4. tornado template

    若果使用Tornado进行web开发可能会用到模板功能,页面继承,嵌套... 多页应用模板的处理多半依赖后端(SPA就可以动态加载局部视图),就算是RESTfull的API设计,也不妨碍同时提供部分模 ...

  5. tornado上手

    http://www.tornadoweb.org/en/stable/ http://www.cnblogs.com/fanweibin/p/5418697.html import tornado. ...

  6. tornado+sqlalchemy+celery,数据库连接消耗在哪里

    随着公司业务的发展,网站的日活数也逐渐增多,以前只需要考虑将所需要的功能实现就行了,当日活越来越大的时候,就需要考虑对服务器的资源使用消耗情况有一个清楚的认知.     最近老是发现数据库的连接数如果 ...

  7. centos 6.7 搭建tornado + nginx + supervisor的方法(已经实践)

    首先,本来不想写这篇博客了,但是我测试了很多网上的例子包括简书的,全不行,我总结原因是自己太笨,搞了俩个晚上,后来决定,自己还是写一篇记录下来,保证自己以后使用 环境: centos6.7 64 py ...

  8. tornado中将cookie值设置为json字符串

    不熟悉,找了很久,能FQ的话, https://groups.google.com/forum/#!topic/python-tornado/9Y--NgwjP_w 2楼有解释. tornado.es ...

  9. tornado 异步调用系统命令和非阻塞线程池

    项目中异步调用 ping 和 nmap 实现对目标 ip 和所在网关的探测 Subprocess.STREAM 不用担心进程返回数据过大造成的死锁, Subprocess.PIPE 会有这个问题. i ...

随机推荐

  1. 史上最全阿里 Java 面试题总结

    以下为大家整理了阿里巴巴史上最全的 Java 面试题,涉及大量 Java 面试知识点和相关试题. JAVA基础 JAVA中的几种基本数据类型是什么,各自占用多少字节. String类能被继承吗,为什么 ...

  2. JAVA中的Random()函数

    Java中存在着两种Random函数: 一.java.lang.Math.Random; 调用这个Math.Random()函数能够返回带正号的double值,该值大于等于0.0且小于1.0,即取值范 ...

  3. spring boot -thymeleaf-异常处理

    异常流程 :controller-ControllerAdvice-异常解析器-默认的error页面 1.错误页面error.html: 程序出现异常会自动跳到error.html里,视频效果,该页面 ...

  4. [2019BUAA软工助教]第0次代码作业

    [2019BUAA软工助教]第0次代码作业 前言 本博客为完成结对项目所需的先导知识,题目不难,请认真对待 :) 欢迎来到软件工程 :) 注:本次实验为附加作业,不做不扣分,做了有附加分 Part 0 ...

  5. lazy_import源码解析(原创)

    参考链接: An approach to lazy importing in Python 3.7(这个是参考源) Python3.7中一种懒加载的方式(中文翻译) 原博客核心: 以前的两种惰性/延迟 ...

  6. nginx、swoole高并发原理初探

    阅前热身 为了更加形象的说明同步异步.阻塞非阻塞,我们以小明去买奶茶为例. 同步与异步 同步与异步的重点在消息通知的方式上,也就是调用结果通知的方式. 同步:当一个同步调用发出去后,调用者要一直等待调 ...

  7. Man方法

    Main方法相当一个主线程,JVM会自动寻找class文件中的main方法并执行(请思考tomcat加载java web项目启动的线程数和每次tomcat服务器接收到请求,是不是要发起一个线程去处理) ...

  8. Zookeeper系列目录

    1.zookeeper安装和参数配置 2.zookeeper的适用场景 3.zookeeper客户端的实现以及使用--watcher机制 session机制 重连恢复机制 异步io

  9. Java爬取网络博客文章

    前言 近期本人在某云上购买了个人域名,本想着以后购买与服务器搭建自己的个人网站,由于需要筹备的太多,暂时先搁置了,想着先借用GitHub Pages搭建一个静态的站,搭建的过程其实也曲折,主要是域名地 ...

  10. Go基础系列:数据类型转换(strconv包)

    Go不会对数据进行隐式的类型转换,只能手动去执行转换操作. 简单的转换操作 转换数据类型的方式很简单. valueOfTypeB = typeB(valueOfTypeA) 例如: // 浮点数 a ...