Tornado入门案例:留言板

  • 前言
  • Tornado框架
  • 实操:搭建一个hello world
  • 完整代码与前端页面

前言

所使用的框架:Torndao框架 python 主流的开发框架

  • Tornado框架:支持高并发
  • Django框架:大而全的框架,内置的东西很多
  • Flask框架:轻量级的框架

Django和Flask使用的最多。

简单来说,Tornado是没有ORM操作的,Django是有的。

Tornado框架

组成:路由系统、视图、模板。

实操:搭建一个hello world

from tornado import web,ioloop,httpserver# 视图
# 首页
class MainPageHandler(web.RequestHandler):def get(self, *args, **kwargs):self.write('hello world')
# 路由系统
app = web.Application([   # 取消转义:r(r'/',MainPageHandler),]
)if __name__ == '__main__':# 前台 sockethttp_server = httpserver.HTTPServer(app)http_server.listen(8000)ioloop.IOLoop.current().start()

然后运行程序启动,浏览器地址栏输入:http://localhost:8000/,即可看到一个“hello world”字样打印在了浏览器页面上。

把一个html页面显示到浏览器上:

# 首页
class MainPageHandler(web.RequestHandler):def get(self, *args, **kwargs):self.render('index.html')# 设置
settings = {'template_path':'templates' ,# 设置模板文件路径'static_path':'statics', # 设置静态文件路径
}# 路由系统
app = web.Application([   # 取消转义:r(r'/',MainPageHandler),], **settings
)

完整代码与前端页面

from tornado import web,ioloop,httpserver
import time
# 留言保存到全局变量中
MESSAGES = [{'id':1,'name':'韩信','time':'2020-05-20 05:21:00','content':'张三,我喜欢你','num':1},{'id':2,'name':'李白','time':'2020-05-20 05:21:00','content':'来干来干','num':2}
]# 视图
# 首页
class MainPageHandler(web.RequestHandler):def get(self, *args, **kwargs):self.render('index.html',name='乔乔的表白墙',messages=MESSAGES)# 许愿页面
class WishHandler(web.RequestHandler):def get(self, *args, **kwargs):self.render('wish.html')def post(self,*args,**kwargs):  # 对应post请求# 从前台获取数据content = self.get_argument('content')name = self.get_argument('name')if content:# 添加数据到局部变量中MESSAGES.append({'name':name,'content':content,'id':len(MESSAGES)+1,'num':len(MESSAGES)+1,'time':time.strftime('%Y-%m-%d %H:%M:%S'),})# 跳转到首页self.redirect('/')else:self.write("内容不能为空")
# 设置
settings = {'template_path':'templates' ,# 设置模板文件路径'static_path':'statics', # 设置静态文件路径
}# 路由系统
app = web.Application([   # 取消转义:r(r'/',MainPageHandler),(r'/wish',WishHandler)], **settings
)if __name__ == '__main__':# 前台 sockethttp_server = httpserver.HTTPServer(app)http_server.listen(8000)#监听端口号8000ioloop.IOLoop.current().start()

前端页面:
链接:https://pan.baidu.com/s/16LyJSIY7pQhFQZ1iZEl3hg
提取码:uyp6

效果大致如下:

当然我觉得可以爬取一些土味情话摆到那里,效果会成为一个表白墙。哈哈

Tornado入门案例:留言板相关推荐

  1. 微信小程序入门-简单留言板

    简单的留言板功能一个界面即可,所以先创建一个liuyan目录,再创建一个page 结构如图: 既然入门,那干脆就把入门知识点过一下,页面跳转: 在初始index.wxml下有这样的例子:(index和 ...

  2. Vue入门 ---- 简易留言板

    ##简述 初学vue,比Angular要简单易学一点,基本就是html代码+json.这是第一个小的例子,用到了vue的几个常用方法,其中v-for的$index稍微有点迷惑,也影响了完成的速度,网上 ...

  3. 【Nodejs】留言板案例

    文章目录 1 统一处理服务器资源: 1.1 关于fs.readdir() 文件目录读取: 1.2 模板引擎: 1.2.1 在node中使用模板引擎: 1.2.2 each : 2 留言板: 2.1 实 ...

  4. 三、案例:留言板 url.parse()

    1. url.parse()的使用 2. 留言板案例 index.html: <!DOCTYPE html> <!-- saved from url=(0027)http://192 ...

  5. NLP自然语言处理—主题模型LDA案例:挖掘人民网留言板文本数据

    全文链接:tecdat.cn/?p=2155 随着网民规模的不断扩大,互联网不仅是传统媒体和生活方式的补充,也是民意凸显的地带.领导干部参与网络问政的制度化正在成为一种发展趋势,这种趋势与互联网发展的 ...

  6. HTML+CSS+JS案例展示(留言板)

    参考来源: JavaScript基础语法-dom-bom-js-es6新语法-jQuery-数据可视化echarts黑马pink老师前端入门基础视频教程(500多集)持续_哔哩哔哩_bilibili ...

  7. 机器学习实战4.2 朴素贝叶斯案例:屏蔽社区留言板的侮辱性言论

    机器学习实战4.2 朴素贝叶斯案例:屏蔽社区留言板的侮辱性言论 参考地址:https://cuijiahua.com/blog/2017/11/ml_4_bayes_1.html 一.引子 很久没更新 ...

  8. React(05):使用react完成简单留言板案例

    前言 之前学了react基本语法和jsx/组件化,这里还是用ts学习时候的本地留言板案例来实践一下之前的学习语法: 正文 注意点 引入react.react-dom.babel,development ...

  9. Vue基础案例(水果搜索,购物车,todolist,留言板,跑马灯)

    Vue基础案例(水果搜索,购物车,todolist,留言板,跑马灯) 01.水果搜索案例 思路以及运用知识点 通过computed计算 keyword与list ,算出findlist 如果list中 ...

最新文章

  1. java过程调用语句_Java之流程控制语句
  2. linux 酷炫的命令行
  3. 如何将存储在MongoDB数据库中的数据导出到Excel中?
  4. shell脚本传可选参数 getopts 和 getopt的方法
  5. java8 streams_Java SE 8新功能介绍:使用Streams API处理集合
  6. 基于xtrabackup GDIT方式不锁库作主从同步(主主同步同理,反向及可)
  7. 引导修复 不是活动的_河南省视频数据修复中心
  8. IOT(7)---MQTT
  9. 高质量的工程代码为什么难写
  10. 实现粗糙表面_你了解什么是表面粗糙度吗?
  11. [20160704]Block recover using RMAN.txt
  12. python菜鸟教程100例-Python 练习实例14
  13. 2018第17周总结
  14. java中aop和aoc的区别_你喝到的波尔多AOC、AOP红酒是真的吗?
  15. 华为交换机链路聚合使用ENSP模拟器进行实验
  16. cmd查看自己的CPU参数
  17. java计算机毕业设计高速公路收费管理源码+mysql数据库+系统+lw文档+部署
  18. 镇江市第一届软件设计大赛参赛作品简单记录
  19. 数据库开发工具:Navicat Premium 15 mac中文版
  20. jquery控制元素的隐藏和显示的几种方法。

热门文章

  1. 【PTA-训练day5】L2-017 人以群分 + L1-023 输出GPLT
  2. 7-3 人以群分 (25 分)
  3. html5 canvas获取坐标系,html5之Canvas路径绘图、坐标变换应用实例
  4. 前端高级工程师04期 KKB
  5. windowns下生成目录结构树形图
  6. Android 开发:APN网络切换之CMNET
  7. 中文转换成拼音和笔画
  8. Redis 三种启动方式
  9. android p nokia7plus,手机体验 篇一:诺基亚7plus上手初体验
  10. 闲暇之余的消遣:烧脑电影