位置: 编程技术 - 正文

使用Python的Tornado框架实现一个Web端图书展示页面(python tonny)

编辑:rootadmin

推荐整理分享使用Python的Tornado框架实现一个Web端图书展示页面(python tonny),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:python tornado orm,python totensor,python tornado orm,python toad,python to_period,python tonny,python to_period,python toad,内容如对您有帮助,希望把文章链接给更多的朋友!

首先,为什么选择Tornado:1.高性能的网络库,这可以和gevent,twisted,libevent等做对。提供了异步io支持,超时事件处理,在此基础上提供了tcpserver,httpclient,尤其是curlhttpclient,在现有http客户端中肯定排第一。可以用来做爬虫,游戏服务器,据我所知业界已有使用tornado作为游戏服务器

2.web框架,这可以和django,flask对。提供了路由,模板等web框架必备组件。与其他区别是tornado是异步的,天然适合长轮训,这也是friendfeed发明tornado的原因,当前flask也可以支持,但必须借助gevent等

3.较为完备的http服务器,这点可以和nginx,apache对比,但只支持http1.0,所以使用nginx做前段不仅是为了更好利用多核,也是让其支持http1.1

4.完备的wsgi服务器,这可以和gunicore,gevent wsgi server做对比,也就是说可以让flask运行在tornado之上,让tornado加速flask

5.提供了完备的websocket支持,这让html5的游戏等提供了便利。像知乎长轮训就是使用了websocket,但websocket手机支持的不是很好,前段时间不得不使用定时ajax发送大量请求,期待手机浏览器赶快奋起直追

使用tornado创建一个简单的图书介绍页好了,言归正传,下面我们来看一下这个图书介绍页的代码实现:1.创建一个web服务的入口文件 blockmain.py

说明一下,一些基本的MVC概念:tornado也是通过pathinfo模式来匹配用户的输入来获得参数,然后再调用相应的处理函数,它是通过为各种匹配模式设定相应的class类来处理,比如我这里就是通过class MainHandler来处理来自/的get请求MainHandler把请求render渲染到index.html,参数在index.html中通过{{参数}}来调用

使用Python的Tornado框架实现一个Web端图书展示页面(python tonny)

2.建立相应的模板,先创建一个基础的父类main.html模板,创建templates目录,在它下面创建main.html,这个模板只是定义了最基础的网页框架,里面的具体内容由继承于它的子类来具体实现

这里是定义了一个主框架,其中里面的{% block header %}<h1>Burt's Books</h1>{% end %}是为了子类模板的继承的块(block),当子类继承了这个main.html,具体这个块里写什么内容由子类来实现,不实现的话就使用父类的默认 值,如是这里的<h1>Burt's Books</h1>,MainHandler类是render到一个index.html,那么接下来写一个index.html来继承这 个父类

简单简洁吧,这也是使用了继承的好处,不用再重复写父类的东西,只要实现父类的block内容即可MainHandler类里的render方法中的参数

将会通过参数传送到这里来tornado的模板里可以使用python的代码,加上{% %}当使用if for while等要使用{% end %}结尾代码中{% module Book(book) %} 将会调用入口服务文件中的定义和'Book'所对应的模块ui_modules={'Hello':HelloModule,'Book':BookModule} 也就是BookModule,查看上面的BookModule定义

BookModule 继承自tornado.web.UIModule,UI模块的使用是最后render_string()方法来把一个对象渲染到一个模板中去,我这里简单 的使用了豆瓣的图书api,先通过search来查询一下包含关键词的图书信息,返回第一条图书的id,再使用book api来查询该图书的具体信息,将这个具体图书的信息render到对应的模板在templates 目录下创建modules目录,再下创建一个book.html,这里是具体的book要显示的内容框架

最后的文件目录结构应该是这样的

程序的执行是这样的:先通过路径‘/'来使用MainHandler类访问index.html---->index.html继承自 main.html---->index.html中的{% module Book(book) %}反过来查找blockmain.py中的Book对应的ui_modules---->ui_modules中将查询得到的book对象内容渲 染到modules下的book.html中,这样就把完整的内容呈现出来了,没有做前端…… 通过python blockmain.py启动服务,通过 来访问得到如下的网页

深入解析Python的Tornado框架中内置的模板引擎 template中的_parse方法是模板文法的解析器,而这个文件中一坨一坨的各种node以及block,就是解析结果的承载者,也就是说在经过parse处理过后,我们输入

浅析Python的web.py框架中url的设定方法 网页中的数据在传递的时候有GET和POST两种方式,GET是以网址的形式传参数,在web.py中有着很好的匹配,如果我们配置以下的urlsurls=('/','index','/weixin/(.*)',

Swift 3.0在集合类数据结构上的一些新变化总结 一、Array数组的更改array数组中修改的API示例如下://创建大量相同元素的数组//创建有个String类型元素的数组,并且每个元素都为字符串"Hello"//swift2.2//

标签: python tonny

本文链接地址:https://www.jiuchutong.com/biancheng/386970.html 转载请保留说明!

上一篇:Windows中使用wxPython和py2exe开发Python的GUI程序的实例教程(WINDOWS中使用磁盘清理的主要作用是为了什么)

下一篇:深入解析Python的Tornado框架中内置的模板引擎(python 解析算法)

  • 安装服务费税率是多少
  • 增值税专用发票使用规定 最新
  • 股权激励费用怎么摊销
  • 机器维修费属于变动成本吗
  • 银行询证函快递怎么查
  • 支票盖财务章盖在哪里
  • 企业所得税逾期了一定要去税局前台申报吗
  • 高新技术企业研发人员占比
  • 收取返利发票怎么开具?
  • 折扣为负数是什么意思
  • 财务软件怎样结转销售成本
  • 一般纳税人可以转小规模吗
  • 清算多交的增值税如何结转做分录?
  • 去年的原材料发票能入账吗
  • 因产品不合格退回报废会计处理
  • 年末会计做账怎样少交企业所得税呢?
  • 银行代收费业务会计分录
  • 税法种类及税率
  • 多计提的费用怎么冲销
  • 应纳税所得额未减上季度所得税,下季度可补减吗
  • 财产行为税税种
  • won11检测
  • 怎么更改mac
  • 华为手机屏幕有个圆点怎么取消
  • 外购商品可以直接结转成本吗
  • 政府专项基金是什么
  • 鸿蒙系统怎么关闭负一屏
  • 新版mac如何连接iphone
  • 新车车祸报废
  • oss对象储存的副本储存原则
  • csdn创作
  • wordpress用什么语言编写
  • elementui常用组件有哪些
  • 小规模纳税人免税政策2023年
  • php get_headers
  • 史上最强i3
  • php 弱类型变量是怎么实现的
  • 差旅费的进项税额需要转出吗
  • mysql将查询结果存到另一个表
  • python 自定义异常
  • 工会经费计提按应付职工薪酬借方还是贷方?
  • 钢管租赁如何跑业务
  • 非同一控制下的长期股权投资入账价值
  • mysql存储过程传入参数
  • sql2008用户sa登录失败
  • 交易性金融资产属于流动资产
  • 汇算清缴利润调增70万会预警吗
  • 什么叫做增值税的新增价值呢
  • 小规模纳税人出售使用过固定资产
  • 其他债权投资如何计提减值
  • 可供出售权益工具公允价值的增加计入当期损益吗
  • 超过保质期放冰箱还能吃吗
  • 印花税 不足
  • 营业外收入在汇算清缴里填哪张表
  • 预付费用款项现金流量怎么算
  • 税控抵税怎么做分录
  • 资产负债表和科目余额表怎么核对
  • 定额发票怎么领?
  • 高新企业 要求
  • 年初建账主要录入的内容
  • linux重置开机密码
  • windows找不到文件请确定文件名是否正确
  • ubuntu 安装指定位置
  • windows注册表简单应用
  • xp administrator隐藏如何找回解决方案
  • imac家长控制
  • sdstat.exe - sdstat是什么进程 有什么用
  • 高危KB3045645!Win7/8.1别安装这个补丁
  • win8资源管理器未响应
  • Unity Socket TCP
  • css网站布局实录 pdf
  • nodejs 异步任务队列
  • js中new操作符工作原理
  • scroll-view组件用于实现
  • 贵州省网上税务局要那个版本
  • 税费算管理费用还是财务费用
  • 企业所得税年度申报表A类
  • 房地产开发企业土地成交额与去年同期相比增长约
  • 安徽工作人员出差费用标准
  • 小规模纳税人的增值税怎么计算
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设