第二百六十三也,Tornado框架-基于正则的动态路由映射分页

Tornado框架-基于正则的动态路由映射分页

分页基本显示数据

第一步、设置正则路由映射配置,(r"/index/(?P<page>\d*)", index.indexHandler),正则匹配访问路径,访问录index/后面可以是可以是0个或多个数字
第二步、配置逻辑处理方法,get()方法里显示对应的页面,并传值一个SHUJU全局变量列表到html模板,这个全局变量列表里是字典显示的数据
第三步、在html模板里用模板语言,循环这个列表里的字典,显示到表格里
第四步、设置用户表单提交数据,表单以post方式提交,提交到/index/1,也就是第1也
第五步、逻辑处理post()方法接收用户提交的数据,组合成字典追加到SHUJU全局变量列表里,self.redirect("/index/1")跳转到第一页,显示出添加的数据

框架引擎

#!/usr/bin/env python
#coding:utf-8

import tornado.ioloop
import tornado.web                              #导入tornado模块下的web文件
from controllers import index

settings = {                                    #html文件归类配置,设置一个字典
    "template_path":"views",                    #键为template_path固定的,值为要存放HTML的文件夹名称
    "static_path":"statics",                    #键为static_path固定的,值为要存放js和css的文件夹名称
}

#路由映射
application = tornado.web.Application([         #创建一个变量等于tornado.web下的Application方法
    (r"/index/(?P<page>\d*)", index.indexHandler),    #正则匹配访问路径,访问录index/后面可以是可以是0个或多个数字
],**settings)                                   #将html文件归类配置字典,写在路由映射的第二个参数里

if __name__ == "__main__":
    #内部socket运行起来
    application.listen(8888)                    #设置端口
    tornado.ioloop.IOLoop.instance().start()

逻辑处理

#!/usr/bin/env python
#coding:utf-8

import tornado.ioloop
import tornado.web                              #导入tornado模块下的web文件
SHUJU = [
    {"user":"lgx","emia":"[email protected]"}
]

#逻辑处理

class indexHandler(tornado.web.RequestHandler):  #定义一个类,继承tornado.web下的RequestHandler类
    def get(self,page):                                              #get()方法,接收get方式请求

        self.render("index.html",shuju = SHUJU)                               #显示index.html文件,并将全局变量SHUJU传到html模板

    def post(self, *args, **kwargs):
        user = self.get_argument("user")            #接收用户提交的用户名
        emia = self.get_argument("emia")            #接收用户提交的邮箱
        temp = {"user":user,"emia":emia}            #将邮箱和用户名组合成字典,
        SHUJU.append(temp)                          #将字典追加到SHUJU全局变量
        self.redirect("/index/1")                   #跳转到index/1,第一页

html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <link rel="stylesheet" href=‘{{static_url("s1.css")}}‘>
</head>
<body>
<h1>提交数据</h1>
<form method="post" action="/index/1">
    用户名:<input name="user" type="text"/>
    邮箱:<input name="emia" type="text"/>
    <input type="submit" value="提交"/>
</form>
<h1>显示数据</h1>
<table border="1">
    <thead>
        <tr>
            <th>用户名</th>
            <th>邮箱</th>
        </tr>
    </thead>
    <tbody>
        <!--循环接收到的shuju显示到表格-->
        {% for i in shuju %}
            <tr>
                <td>{{i["user"]}}</td>
                <td>{{i["emia"]}}</td>
            </tr>
        {% end %}
    </tbody>
</table>
</body>
</html>

说明:get方式请求,post方法请求

时间: 2024-10-19 03:41:52

第二百六十三也,Tornado框架-基于正则的动态路由映射分页的相关文章

第二百六十二节,Tornado框架-cookie

Tornado框架-cookie Cookie 是网站用来在客户端保存识别用户的一种小文件.一般来用库可以保存用户登 录信息.购物数据信息等一系列微小信息. self.set_cookie()方法,创建cookie必写参数,cookie名称和cookie值,后面有可选参数self.get_cookie()方法,获取指定cookie值,必写参数要获取的cookie名称 模板引擎 #!/usr/bin/env python #coding:utf-8 import tornado.ioloop im

第二百六十九节,Tornado框架-Session登录判断

Tornado框架-Session登录判断 Session需要结合cookie来实现 Session的理解 1.用户登录系统时,服务器端获取系统当前时间,进行nd5加密,得到加密后的密串 2.将密串作为一个字典的键,值为一个字典,也就是嵌套字典,键为密串的字典里保存用户信息 3.将这个密串当做cookie值写入浏览器 4.当用户访问时,判断值为密串的cookie是否存在,如果存在,获取cookie的值也就是密串,将这个密串在服务端的字典里查找是否存在,如果存在就可以拿到用户保存的各种信息,判断用

第二百六十七节,Tornado框架-分页封装模块

Tornado框架-分页封装模块 框架引擎 #!/usr/bin/env python #coding:utf-8 import tornado.ioloop import tornado.web #导入tornado模块下的web文件 from controllers import index settings = { #html文件归类配置,设置一个字典 "template_path":"views", #键为template_path固定的,值为要存放HTML

第二百六十五节,xss脚本攻击介绍

xss脚本攻击介绍 Cross-Site Scripting(XSS)是一类出现在 web 应用程序上的安全弱点,攻击者可以通过 XSS 插入一 些代码,使得访问页面的其他用户都可以看到,XSS 通常是可以被看作漏洞的.它允许攻击者绕过安全机 制,通过尝试各种不同的方法插入恶意代码,攻击者可以得到敏感页面的权限,会话,cookies,或者其 他的东西,XSS 分为三类 XSS 分类: 非持久性,持久性和基于 Dom(此类可以是持久的,也可以是不持久的) 非持久性: 非持久性 XSS 也被称为反射

第二百九十三,Memcached缓存

Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载.它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态.数据库驱动网站的速度.Memcached基于一个存储键/值对的hashmap.其守护进程(daemon )是用C写的,但是客户端可以用任何语言来编写,并通过memcached协议与守护进程通信. Memcached安装和基本使用 Window下memcached安装与测试步骤 下载好软件包memcached-1.4.20版本 安装步骤1.

一起talk C栗子吧(第一百六十三回:C语言实例--三目运算符)

各位看官们,大家好,上一回中咱们说的是套接字知识体系图的例子,这一回咱们说的例子是:三目运算符.闲话休提,言归正转.让我们一起talk C栗子吧! 看官们,我们在前一章回中对套接字进行了归纳和总结,从而结束了对套接字的介绍.这一回中我们将开始介绍一个新的知识,那就是三目运算符. 说明到三目运算符,有些看官可能不知道是什么,如果我写个符号,大家一定都知道是什么"?:".啊!原来是它呀.已经有看官发出了感叹.其实,有时候我也会和大家一样,只知道使用,却不知道它叫什么,哈哈. 我们今天来介绍

第二百六十七天 how can I 坚持

晚上有点小郁闷,小纠结,感觉不应该买房,不知道什么吸引着我一定要买呢,曾经坚持不买房的我,为什么成了这个样子. 搞不懂啊. 元旦就要就看房了, 如果真的要买了,明年的压力就会很大了. 经济到底会成为啥样,总感觉中国要经历一场危机,危机下如何自保. 其实,也没什么,大不了不要房子了,心放开了,回家种地也一样,哈哈. 睡觉了.

第二百六十一、二天 how can I坚持

昨天在家宅了一天,晚上去看了个电影<寻龙诀>,感觉一般,虽然有黄渤.舒淇.十分打7分吧,画面倒是很震撼. 今天,去了趟东升八家郊野公园,想买个篮球玩玩来,可是超市里的太坑了,都是赠品还拿出来卖. 感觉和罗娜越来越远了,那就算了,本来可能性就很小,不过还是有点难过. 下一年结婚,好难,该咋办. 最近在搞linux虚拟机,貌似好难.也没有看hadoop视频,想找个教程都找不到. 一点点的来.睡觉了.

第二百三十三天 how can I 坚持

刚才看了场球,亚冠恒大和迪拜阿尔阿赫利,1:0,刚打开电脑就看到了进球,还是很幸运的. 在家待了一天,阴天,预报明天又中到大雪 啊,下吧.好希望下场大雪啊. 最近一直感觉好累,写代码不容易啊 ,还是因为是上周爬上爬的没有休息过来. 睡觉. 期待明天的大雪.