
tornado
汴水流
这个作者很懒,什么都没留下…
展开
-
tornado中数据库ORM操作(一):peewee的使用
github地址:https://github.com/coleifer/peewee 文档:http://docs.peewee-orm.com/ 依赖于pymysql 要把pymysql也安装了 pip install pymysql pip install peewee 采用peewee作为ORM的原因 1:django orm,sqlalchemy,peewee三个用的最...原创 2019-04-20 22:50:37 · 1816 阅读 · 0 评论 -
tornado中数据库ORM操作(二):通过peewee-async集成到tornado中
github地址:https://github.com/05bit/peewee-async Install Install withpipfor PostgreSQL: pip install --pre peewee-async; pip install aiopg or for MySQL: pip install --pre peewee-async; pip inst...原创 2019-06-20 22:09:49 · 959 阅读 · 0 评论 -
tornado实现并发爬虫
示例代码 from urllib.parse import urljoin from bs4 import BeautifulSoup from tornado import gen, httpclient, ioloop, queues base_url = "http://www.tornadoweb.org/en/stable/" concurrency = 3 async def...转载 2019-06-20 20:39:10 · 573 阅读 · 0 评论 -
协程总结
协程:可以暂定并切换到其他协程运行的函数 线程是由操作系统调度 协程的调度是由程序员实现 生成器暂停函数举例 import time # 普通函数无法暂停 def add(a, b): print(a+b) # 生成器是可以暂停函数的 def yield_test(): yield 1 yield 2 yield 3 return "bobby...原创 2019-06-20 18:33:51 · 268 阅读 · 0 评论 -
同步 异步 阻塞和非阻塞
基本事实: 1.cpu的速度远高于io速度 2.IO包括网络访问和本地文件访问。比如requests,urllib等传统的网络库都是同步的IO 3.网络IO大部分的时间都是处于等待的状态,在等待的时候,cpu是空闲的,但是又不能执行其他的操作 阻塞是指调用函数时候当前线程被挂起。 非阻塞是指调用函数时候当前线程不会被挂起,而是立即返回。 同步和异步是逻辑层和业务层面的叫法,阻塞和非阻塞...原创 2019-06-20 17:34:51 · 276 阅读 · 0 评论 -
tornado的settings有哪些可以设置
官方文档: http://www.tornadoweb.org/en/stable/web.html#tornado.web.Application.settings 谷歌中文翻译后直接复制的 常规设置: autoreload:如果True,任何源文件更改时服务器进程将重新启动,如调试模式和自动重新加载中所述。此选项是Tornado 3.2中的新选项;以前此功能由debug设置控制...原创 2019-04-19 18:23:55 · 1187 阅读 · 0 评论 -
tornado中的模板
设置模板 方式一: class MainHandler(RequestHandler): async def get(self, *args, **kwargs): word = "hello bobby" loader = template.Loader("/xx/xx") self.finish(loader.load("hell...原创 2019-04-19 17:50:43 · 439 阅读 · 0 评论 -
tornado中RequsetHandler常用子类RedirectHandler 和StaticFileHandler 的使用
RedirectHandler 重定向 # 方式一 urls = [(r"/test", tornado.RedirectHandler, {"url": "/"}),……] Handler这种方式适合于写到url配置当中,永久性的重定向,配置简单,但是灵活性不强 # 方式二 def get(self, *args, **kwargs): self.redir...原创 2019-04-19 17:23:30 · 826 阅读 · 0 评论 -
tornado中RequsetHandler的使用
应用示意,RequsetHandler中可能常会用到的一些地方 import json from tornado.web import RequestHandler class MainHandler(RequestHandler): # 入口 def initialize(self, demo): # 用于初始化handler类的过程 ...原创 2019-04-19 16:52:14 · 435 阅读 · 0 评论 -
tornado中options的使用
from tornado.options import define, options, parse_command_line # define,定义一些可以在命令行中传递的参数以及;类型 define('port', default=8888, help="run on the given port", type=int) define('debug', default=True, help...原创 2019-04-19 16:01:52 · 549 阅读 · 0 评论 -
tornado--初学者常见问题总结
1:tornado如何实现在代码修改后,不需要重启,直接应用修改后的提交? 设置dubug=True即可 def make_app(): return tornado.web.Application([ (r"/", XXXHandler) ], debug=True) 2:tornado重启后,显示端口号被占用(提示,通常每个套接字地址只允许使用...原创 2019-04-19 17:51:50 · 1046 阅读 · 0 评论 -
tornado中的url配置
1:如何实现url中带数字(字符串)类型的匹配? class PeopleIdHandler(web.RequestHandler): async def get(self, id, *args, **kwargs): self.write("用户ID:{}".format(id)) class PeopleNameHandler(web.RequestHandle...原创 2019-04-19 12:34:30 · 2495 阅读 · 0 评论 -
AssertionError: Error, sync query is not allowed! Call the `.set_allow_sync()` or use the `.allow_sy
错误信息展示: ERROR:tornado.application:Uncaught exception GET /groups/ (127.0.0.1) …… File "H:\project\sgjlb_tornado\apps\group\handler.py", line 130, in get group_dict = model_to_dict(group) …… ...原创 2019-07-01 12:36:50 · 1155 阅读 · 0 评论