day34-WEB框架
MVC MTV
models 数据相关操作 models
views 模板HTML文件 templates
controls 业务逻辑 controls
web框架代码 (2017-7-6 19:30:54)
#! bin/usr/evn python # -*- coding:utf-8 -*-import tornado.web import tornado.ioloop INPUT_LIST=[] class MainHandler(tornado.web.RequestHandler):def get(self, *args, **kwargs):self.render('t1.html',ip=INPUT_LIST)def post(self, *args, **kwargs):name=self.get_argument('gg')print(name)INPUT_LIST.append(name)self.render('t1.html',ip=INPUT_LIST) settings={'template_path':'template','static_path': 'static', } app=tornado.web.Application([(r'/index',MainHandler), ],**settings)if __name__=='__main__':app.listen(8888)tornado.ioloop.IOLoop.instance().start()# import tornado.ioloop# import tornado.web# class MainHandler(torn# # ado.web.RequestHandler):# def get(self):# self.write("Hello, world")# application = tornado.web.Application([# (r"/index", MainHandler),# ])# if __name__ == "__main__":# application.listen(8888)# tornado.ioloop.IOLoop.instance().start()
View Code
html
<!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><title>Title</title><style>*{margin:0;padding:0;}.u{position: absolute;/*display: inline-block;*/list-style: none;background-color: rosybrown;}.l{float: left;display: inline-block;/*position: absolute;*/}.l2{}.l1{}</style><link rel="stylesheet" href="static/common.css"> </head> <body><h1>GO</h1><form method="post" action="/index"><div class="w">11111<ul class="u"><li>1</li></ul><input type="text" class="l3" name="gg"><input type="submit" value="subbb" class="l4"></div></form><h2>Show:</h2><ul>{%for item in ip %}<li>{{item}}</li>{% end %}</ul> </body> </html>
View Code
GET POST的区别是get可以在url里面传值 post在页面内传值
uimethod 直接写定义函数就好
uimodule要导入类
uimodule
#! bin/usr/evn python # -*- coding:utf-8 -*- from tornado.web import UIModuleclass Go(UIModule):def render(self, *args, **kwargs):return 'gogoGo'
View Code
t1
#! bin/usr/evn python # -*- coding:utf-8 -*-import tornado.web import tornado.ioloop import uimodule as md INPUT_LIST=[] class MainHandler(tornado.web.RequestHandler):def get(self, *args, **kwargs):self.render('t1.html',ip=INPUT_LIST)def post(self, *args, **kwargs):name=self.get_argument('gg')print(name)INPUT_LIST.append(name)self.render('t1.html',ip=INPUT_LIST)settings={'template_path':'template','static_path': 'static','ui_modules':md,# 'ui_method':mt, }app=tornado.web.Application([(r'/index',MainHandler), ],**settings)if __name__=='__main__':app.listen(8888)tornado.ioloop.IOLoop.instance().start()# import tornado.ioloop# import tornado.web# class MainHandler(torn# # ado.web.RequestHandler):# def get(self):# self.write("Hello, world")# application = tornado.web.Application([# (r"/index", MainHandler),# ])# if __name__ == "__main__":# application.listen(8888)# tornado.ioloop.IOLoop.instance().start()
View Code
html
<!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><title>Title</title><style>*{margin:0;padding:0;}.u{position: absolute;/*display: inline-block;*/list-style: none;background-color: rosybrown;}.l{float: left;display: inline-block;/*position: absolute;*/}.l2{}.l1{}</style><link rel="stylesheet" href="static/common.css"> </head> <body><h1>GO</h1><form method="post" action="/index"><div class="w">11111<ul class="u"><li>1</li></ul><input type="text" class="l3" name="gg"><input type="submit" value="subbb" class="l4"></div></form><h2>Show:</h2><ul>{%for item in ip %}<li>{{item}}</li>{% end %}</ul><h3>{% module Go()%}</h3> </body> </html>
View Code
cookies(2017-7-7 10:16:40)
#! bin/usr/evn python # -*- coding:utf-8 -*- import tornado.ioloop import tornado.webSTU=0 class Indexhandler(tornado.web.RequestHandler):def get(self,*arg,**kwarg):self.render('index.html')class Managerhandler(tornado.web.RequestHandler):def get(self,*arg,**kwarg):cooki=self.get_cookie('auth')if cooki=='1':self.render('manager.html')else:self.redirect('/login')class Loginhandler(tornado.web.RequestHandler):def get(self,*arg,**kwarg):self.render('login.html',stu=STU)def post(self, *args, **kwargs):username=self.get_argument('username',None)pwd=self.get_argument('password',None)if username=='jiji' and pwd=='ge':self.set_cookie('auth','1')STU=1else:STU=0self.render('login.html',stu=STU)class Logouthandler(tornado.web.RequestHandler):def get(self,*arg,**kwarg):self.set_cookie('auth','0')self.redirect('/login')settings={# 'template_path':'views' #模板路径配置 }app=tornado.web.Application({(r'/index',Indexhandler),(r'/login',Loginhandler),(r'/logout',Logouthandler),(r'/manager',Managerhandler), },**settings)if __name__=='__main__':app.listen(888)tornado.ioloop.IOLoop.instance().start()
View Code
index.html
<!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><title>Title</title> </head> <style>h1{color: red;background-color: #9acfea;} </style> <body> <h1>hellow word</h1> <a href="/manager"><button>manager</button></a> <a href="/login"><button>login</button></a> </body> </html>
View Code
manager.html
<!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><title>Title</title> </head> <body><h1>im manager</h1><a href="/logout"><input type="button" value="logout"></a> </body> </html>
View Code
login.html
<!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><title>Title</title> </head> <body><form action="/login" method="post"><input type="text" name="username"><input type="password" name="password"><input type="submit" value="login">{% if stu==1 %}<span style="background-color: orangered; display:inline-block; ">has logined!!!</span>{% end %}</form><a href="/manager"><button>manager</button></a><a href="/index"><button>indxe</button></a><a href="/logout"><button>logout</button></a></body> </html>
View Code
转载于:https://www.cnblogs.com/ezway/p/7120298.html
day34-WEB框架相关推荐
- Django web框架
Web框架 web 框架本质 - Web应用本质上就是一个socket服务端,而用户的浏览器就是一个socket客户端. HTTP协议 HTTP协议介绍HTTP协议对收发消息的格式要求每个HTTP ...
- web框架总结(django、flask)
1.MVC解读 M:Model,模型,和数据库进行交互 V:View,视图,负责产生Html页面 C:Controller,控制器,接收请求,进行处理,与M和V进行交互,返回应答. 1.用户点击注 2 ...
- Python Web 框架要点
1. Web应用程序处理流程 2. Web程序框架的意义 用于搭建Web应用程序 免去不同Web应用相同代码部分的重复编写,只需关心Web应用核心的业务逻辑实现 3. Web应用程序的本质 接收并解析 ...
- 带你理清Node.js 的Web框架的3个层次
web 框架指的是处理 http.https 的服务端框架,Node.js 提供了 http.https 模块用于处理协议数据,这是 web 框架的基础. 但是 http.https 的 api 过于 ...
- python学习随笔--web框架
Web框架本质 众所周知,对于所有的Web应用,本质上其实就是一个socket服务端,用户的浏览器其实就是一个socket客户端. #!/usr/bin/env python #coding:utf- ...
- python bottle web框架简介
Bottle 是一个快速,简单,轻量级的 Python WSGI Web 框架.单一文件,只依赖 Python 标准库 .bottle很适合会一点python基础的人使用,因为这框架用起来很简单,只要 ...
- Python之路--WEB框架本质
一.本质 众所周知,对于所有的Web应用,本质上其实就是一个socket服务端,用户的浏览器其实就是一个socket客户端. #!/usr/bin/env python #coding:utf-8im ...
- Python微型Web框架Bottle源码分析
Bottle 是一个快速,简单和轻量级的 WSGI 微型 Web 框架的 Python.它作为单个文件模块分发,除了 Python 标准库之外没有依赖关系. 选择源码分析的版本是 Release 于 ...
- 仿Gin搭建自己的web框架(五)
继续扩展web框架的功能. context作为某个请求的上下文,必然就需要承担它最基本的功能:在各个中间件和函数之间传递变量.所以我们在context的结构体定义中加入一个Keys的字段,用来放置上下 ...
- Ktor 1.0发布:JetBrains推出的Kotlin Web框架
以下由Kotlin中文站翻译自JetBrains官方博客,本文由Kotlin中文站授权转载: 在我们开展Kotlin工作时,我们实现了很多特性,以便用于构建符合使用习惯且高效的API.我们始终期待着能 ...
最新文章
- Eclipse进行可视化的GUI开发3大GUI插件
- logistic loss公式的由来 xgboost 雪伦的推导中使用了该公式
- NodeJS加MongoDB应用入门
- 大数据的起步:初学者
- leetcode|第三大的数java题解
- 指令系统——数据寻址(1)(详解)
- python 怎么表示sqlserver null_如何使用Python将sqlserver查询输出写入.txt文件?
- LeetCoed 5383. 给 N x 3 网格图涂色的方案数
- string 常用函数
- Ubuntu 20.04 上安装 TeamViewer
- Ant + Jenkies +Tomcat 自动构建部署Web项目
- iOS开发之App开发团队必须知道的 iOS 11 更新点几iPhoneX的屏幕适配
- java去除 r_Android apk瘦身最佳实践(一):去除R.class
- 一个简单的前后端分离案例
- 无线射频识别问答习题
- 头孢一代比一代强吗?
- supervisor备忘
- 帝国CMS二次开发 – 使用程序本身的SQL类
- 【第16周复盘】学习的飞轮
- TPS5430正电源转正负电源 低纹波
热门文章
- 小白之玩转Mac--自动切换输入法
- 笔记10.9:硬盘、计算机启动过程、缓冲缓存
- vue改变class内的属性_vue绑定html的class属性的方法
- python 堆叠柱状图 多列 复杂_[Python Study Notes]堆叠柱状图绘制
- B2B平台显现5大价值特征和6种商业创新模式
- SQL Server HA - 数据库镜像 (Mirroring)
- 2022上半年软考电子证书可以查询拉!
- java中字符串和数字变量之间的转换方法
- 【二叉搜索树】(三) 小结
- QT生成动态链接库.so文件