第二百五十八节,Tornado框架-逻辑处理get()方法和post()方法,初识模板语言
Tornado框架-逻辑处理get()方法和post()方法,初识模板语言
Tornado框架,逻辑处理里的get()方法,和post()方法
get()方法,处理get方式的请求
post()方法,处理post方式的请求
self.get_argument()接收get方式或post方式请求传值,参数是要接收值的名称,如表单传值
接收表单数据
#!/usr/bin/env python #coding:utf-8import tornado.ioloop import tornado.web #导入tornado模块下的web文件#逻辑处理 class MainHandler(tornado.web.RequestHandler): #定义一个类,继承tornado.web下的RequestHandler类def get(self): #get()方法,接收get方式请求self.render("cshi.html") #显示cshi.html文件def post(self, *args, **kwargs): #post()方法,接收post方式请求name = self.get_argument('xxx') #self.get_argument()方法,接收post方式提交name名称为xxx的值print(name)self.render("cshi.html") #显示cshi.html文件 settings = { #html文件归类配置,设置一个字典"template_path":"template", #键为template_path固定的,值为要存放HTML的文件夹名称"static_path":"static", #键为static_path固定的,值为要存放js和css的文件夹名称 }#路由映射 application = tornado.web.Application([ #创建一个变量等于tornado.web下的Application方法(r"/index", MainHandler), #判断用户请求路径后缀是否匹配字符串index,如果匹配执行MainHandler方法 ],**settings) #将html文件归类配置字典,写在路由映射的第二个参数里if __name__ == "__main__":#内部socket运行起来application.listen(8888) #设置端口tornado.ioloop.IOLoop.instance().start()
html
<!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><title>Title</title><!--注意js和css文件路径配置后必须在引入路径里加上配置文件夹名称--><link rel="stylesheet" href="static/s1.css"> </head> <body><h1>表单提交</h1><form method="post" action="/index"><input type="text" name="xxx"/><input type="submit" value="提交"/></form> </body> </html>
表单提交值,接收表单值并传入html模板语言渲染到页面
self.render()方法,参数1向用户请求打开指定html文件,参数2向html文件传入值到模板语言渲染
模板语言
{{...}}html模板语言,接收self.render()方法传值的变量或一个值
{%...%}{%end%}在html渲染代码块
#!/usr/bin/env python #coding:utf-8import tornado.ioloop import tornado.web #导入tornado模块下的web文件 BAODZHI = [] #设置一个全局变量列表。来接收表单的值#逻辑处理 class MainHandler(tornado.web.RequestHandler): #定义一个类,继承tornado.web下的RequestHandler类def get(self): #get()方法,接收get方式请求self.render("cshi.html",zhi = BAODZHI) #显示cshi.html文件,将BAODZHI全局传到html模板语言进行渲染def post(self, *args, **kwargs): #post()方法,接收post方式请求name = self.get_argument('xxx') #self.get_argument()方法,接收post方式提交name名称为xxx的值BAODZHI.append(name) #将每次接收到的表单值,放入全局变量列表print(name)self.render("cshi.html",zhi = BAODZHI) #显示cshi.html文件,将BAODZHI全局传到html模板语言进行渲染 settings = { #html文件归类配置,设置一个字典"template_path":"template", #键为template_path固定的,值为要存放HTML的文件夹名称"static_path":"static", #键为static_path固定的,值为要存放js和css的文件夹名称 }#路由映射 application = tornado.web.Application([ #创建一个变量等于tornado.web下的Application方法(r"/index", MainHandler), #判断用户请求路径后缀是否匹配字符串index,如果匹配执行MainHandler方法 ],**settings) #将html文件归类配置字典,写在路由映射的第二个参数里if __name__ == "__main__":#内部socket运行起来application.listen(8888) #设置端口tornado.ioloop.IOLoop.instance().start()
html
<!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><title>Title</title><!--注意js和css文件路径配置后必须在引入路径里加上配置文件夹名称--><link rel="stylesheet" href="static/s1.css"> </head> <body><h1>表单提交</h1><form method="post" action="/index"><input type="text" name="xxx"/><input type="submit" value="提交"/></form><h1>展示内容</h1><ul>{% for i in zhi %}<li>{{i}}</li>{% end %}</ul> </body> </html>
原理图
第二百五十八节,Tornado框架-逻辑处理get()方法和post()方法,初识模板语言相关推荐
- TP框架中的A方法和R方法
ThinkPHP 跨模块调用操作方法(A方法与R方法) 跨模块调用操作方法 前面说了可以使用 $this 来调用当前模块内的方法,但实际情况中还经常会在当前模块调用其他模块的方法.ThinkPHP 内 ...
- 自学Python第二十六天- Tornado 框架
自学Python第二十六天- Tornado 框架 安装及基础引用 创建.配置.初始化应用及简单运行服务 创建应用 对 app 进行设置 另一种设置方法 一些其他的配置 关于调试模式 设置路由处理器 ...
- 精通Android自定义View(十六)invalidate方法和requestLayout方法
1 简述 requestLayout方法会导致View的onMeasure.onLayout.onDraw方法被调用:invalidate方法则只会导致View的onDraw方法被调用 2 reque ...
- 精通Android自定义View(十五)invalidate方法和postInvalidate方法
1 概述 invalidate方法和postInvalidate方法都是用于进行View的刷新,invalidate方法应用在UI线程中,而postInvalidate方法应用在非UI线程中,用于将线 ...
- JavaScript学习(五十二)—继承、call方法和apply方法
JavaScript学习(五十二)-继承.call方法和apply方法 学习内容 一.继承 二.call方法 三.apply方法 一.继承 所谓继承就是两个构造方法建立起来的某种联系,通过某种联系,可 ...
- 46.Express框架 GET 方法和POST 方法
转自:http://www.runoob.com/nodejs/nodejs-express-framework.html GET 方法 以下实例演示了在表单中通过 GET 方法提交两个参数,我们可以 ...
- jQuery 方法 十四. html()方法和text()方法
<!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8" ...
- 第十八节:教你如何使用ES6的Promise对象
Promise对象,ES6新增的一个全新特性,今天我们要好好学习一下它. Promise的设计初衷 首先,我们先一起了解一下,为什么要设计出这么一个玩意儿,用它是为了解决什么问题? 带着这个问题,我们 ...
- 第二百六十四节,Tornado框架-基于正则的动态路由映射分页数据获取计算
Tornado框架-基于正则的动态路由映射分页数据获取计算 分页基本显示数据 第一步.设置正则路由映射配置,(r"/index/(?P<page>\d*)", inde ...
最新文章
- 测试员薪资两极分化,如何成为月薪20K的自动化测试?
- GitHub Action + ACK:云原生 DevOps 落地利器
- ContextLoaderListener作用详解
- 外包物料成本核算时的供应商确定
- cad lisp 二次抛物线_学习CAD的五个段位,你是青铜还是王者?
- python开发爬虫-Python3 Scrapy 安装方法 (一脸辛酸泪)
- 为什么黑客都用python-为什么黑客都用python Python在各领域都有着广
- webworker应用场景_初始WebWorker
- 手把手教你做做一份高质量投标书
- i春秋 - Exploit-Exercises: Nebula - level03
- 6.Celeste Headlee: 10 ways to have a better conversation | TED Talk
- 经济学中ppf计算机会成本例题,经济学中的PPF是什么
- 范渊免职——网安界其人曾异军突起又将“落幕”?
- 微信网页开发wx.chooseImage多图上传、预览(已解决)
- 香港服务器适合用来搭建app吗。
- 蓝桥杯试题:Fibonacci数列
- 2020年3月中国编程语言排行榜
- 第0章 计算机硬件与组成基础
- 关于RFID简单操作说明
- Java知识总结(五)
热门文章
- 使用beanShell来解析执行java的String方法,类似javascipt的eval方法
- 大数据?这些你了解吗?------之基础知识篇
- 【Linux】Linux中常见的文件管理以及常用的符号命令的总结
- centos7中安装docker
- python结构_Python 项目的结构
- python正则匹配统计_用Python正则表达式搜索统计命令行管道中的所有数字
- unix linux windows mac,從 Mac (Unix) 移至 Windows | Microsoft Docs
- 「译文」你必须掌握的 7 种 JavaScript 错误类型
- 深入理解web.xml中配置/和/*的区别
- sql server 多条记录数据合并为一条_面试必备sql知识点——MySQL基础