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()方法,初识模板语言相关推荐

  1. TP框架中的A方法和R方法

    ThinkPHP 跨模块调用操作方法(A方法与R方法) 跨模块调用操作方法 前面说了可以使用 $this 来调用当前模块内的方法,但实际情况中还经常会在当前模块调用其他模块的方法.ThinkPHP 内 ...

  2. 自学Python第二十六天- Tornado 框架

    自学Python第二十六天- Tornado 框架 安装及基础引用 创建.配置.初始化应用及简单运行服务 创建应用 对 app 进行设置 另一种设置方法 一些其他的配置 关于调试模式 设置路由处理器 ...

  3. 精通Android自定义View(十六)invalidate方法和requestLayout方法

    1 简述 requestLayout方法会导致View的onMeasure.onLayout.onDraw方法被调用:invalidate方法则只会导致View的onDraw方法被调用 2 reque ...

  4. 精通Android自定义View(十五)invalidate方法和postInvalidate方法

    1 概述 invalidate方法和postInvalidate方法都是用于进行View的刷新,invalidate方法应用在UI线程中,而postInvalidate方法应用在非UI线程中,用于将线 ...

  5. JavaScript学习(五十二)—继承、call方法和apply方法

    JavaScript学习(五十二)-继承.call方法和apply方法 学习内容 一.继承 二.call方法 三.apply方法 一.继承 所谓继承就是两个构造方法建立起来的某种联系,通过某种联系,可 ...

  6. 46.Express框架 GET 方法和POST 方法

    转自:http://www.runoob.com/nodejs/nodejs-express-framework.html GET 方法 以下实例演示了在表单中通过 GET 方法提交两个参数,我们可以 ...

  7. jQuery 方法 十四. html()方法和text()方法

    <!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8" ...

  8. 第十八节:教你如何使用ES6的Promise对象

    Promise对象,ES6新增的一个全新特性,今天我们要好好学习一下它. Promise的设计初衷 首先,我们先一起了解一下,为什么要设计出这么一个玩意儿,用它是为了解决什么问题? 带着这个问题,我们 ...

  9. 第二百六十四节,Tornado框架-基于正则的动态路由映射分页数据获取计算

    Tornado框架-基于正则的动态路由映射分页数据获取计算 分页基本显示数据 第一步.设置正则路由映射配置,(r"/index/(?P<page>\d*)", inde ...

最新文章

  1. 测试员薪资两极分化,如何成为月薪20K的自动化测试?
  2. GitHub Action + ACK:云原生 DevOps 落地利器
  3. ContextLoaderListener作用详解
  4. 外包物料成本核算时的供应商确定
  5. cad lisp 二次抛物线_学习CAD的五个段位,你是青铜还是王者?
  6. python开发爬虫-Python3 Scrapy 安装方法 (一脸辛酸泪)
  7. 为什么黑客都用python-为什么黑客都用python Python在各领域都有着广
  8. webworker应用场景_初始WebWorker
  9. 手把手教你做做一份高质量投标书
  10. i春秋 - Exploit-Exercises: Nebula - level03
  11. 6.Celeste Headlee: 10 ways to have a better conversation | TED Talk
  12. 经济学中ppf计算机会成本例题,经济学中的PPF是什么
  13. 范渊免职——网安界其人曾异军突起又将“落幕”?
  14. 微信网页开发wx.chooseImage多图上传、预览(已解决)
  15. 香港服务器适合用来搭建app吗。
  16. 蓝桥杯试题:Fibonacci数列
  17. 2020年3月中国编程语言排行榜
  18. 第0章 计算机硬件与组成基础
  19. 关于RFID简单操作说明
  20. Java知识总结(五)

热门文章

  1. 使用beanShell来解析执行java的String方法,类似javascipt的eval方法
  2. 大数据?这些你了解吗?------之基础知识篇
  3. 【Linux】Linux中常见的文件管理以及常用的符号命令的总结
  4. centos7中安装docker
  5. python结构_Python 项目的结构
  6. python正则匹配统计_用Python正则表达式搜索统计命令行管道中的所有数字
  7. unix linux windows mac,從 Mac (Unix) 移至 Windows | Microsoft Docs
  8. 「译文」你必须掌握的 7 种 JavaScript 错误类型
  9. 深入理解web.xml中配置/和/*的区别
  10. sql server 多条记录数据合并为一条_面试必备sql知识点——MySQL基础