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框架相关推荐

  1. Django web框架

    Web框架 web 框架本质  -  Web应用本质上就是一个socket服务端,而用户的浏览器就是一个socket客户端. HTTP协议 HTTP协议介绍HTTP协议对收发消息的格式要求每个HTTP ...

  2. web框架总结(django、flask)

    1.MVC解读 M:Model,模型,和数据库进行交互 V:View,视图,负责产生Html页面 C:Controller,控制器,接收请求,进行处理,与M和V进行交互,返回应答. 1.用户点击注 2 ...

  3. Python Web 框架要点

    1. Web应用程序处理流程 2. Web程序框架的意义 用于搭建Web应用程序 免去不同Web应用相同代码部分的重复编写,只需关心Web应用核心的业务逻辑实现 3. Web应用程序的本质 接收并解析 ...

  4. 带你理清Node.js 的Web框架的3个层次

    web 框架指的是处理 http.https 的服务端框架,Node.js 提供了 http.https 模块用于处理协议数据,这是 web 框架的基础. 但是 http.https 的 api 过于 ...

  5. python学习随笔--web框架

    Web框架本质 众所周知,对于所有的Web应用,本质上其实就是一个socket服务端,用户的浏览器其实就是一个socket客户端. #!/usr/bin/env python #coding:utf- ...

  6. python bottle web框架简介

    Bottle 是一个快速,简单,轻量级的 Python WSGI Web 框架.单一文件,只依赖 Python 标准库 .bottle很适合会一点python基础的人使用,因为这框架用起来很简单,只要 ...

  7. Python之路--WEB框架本质

    一.本质 众所周知,对于所有的Web应用,本质上其实就是一个socket服务端,用户的浏览器其实就是一个socket客户端. #!/usr/bin/env python #coding:utf-8im ...

  8. Python微型Web框架Bottle源码分析

    Bottle 是一个快速,简单和轻量级的 WSGI 微型 Web 框架的 Python.它作为单个文件模块分发,除了 Python 标准库之外没有依赖关系. 选择源码分析的版本是 Release 于 ...

  9. 仿Gin搭建自己的web框架(五)

    继续扩展web框架的功能. context作为某个请求的上下文,必然就需要承担它最基本的功能:在各个中间件和函数之间传递变量.所以我们在context的结构体定义中加入一个Keys的字段,用来放置上下 ...

  10. Ktor 1.0发布:JetBrains推出的Kotlin Web框架

    以下由Kotlin中文站翻译自JetBrains官方博客,本文由Kotlin中文站授权转载: 在我们开展Kotlin工作时,我们实现了很多特性,以便用于构建符合使用习惯且高效的API.我们始终期待着能 ...

最新文章

  1. Eclipse进行可视化的GUI开发3大GUI插件
  2. logistic loss公式的由来 xgboost 雪伦的推导中使用了该公式
  3. NodeJS加MongoDB应用入门
  4. 大数据的起步:初学者
  5. leetcode|第三大的数java题解
  6. 指令系统——数据寻址(1)(详解)
  7. python 怎么表示sqlserver null_如何使用Python将sqlserver查询输出写入.txt文件?
  8. LeetCoed 5383. 给 N x 3 网格图涂色的方案数
  9. string 常用函数
  10. Ubuntu 20.04 上安装 TeamViewer
  11. Ant + Jenkies +Tomcat 自动构建部署Web项目
  12. iOS开发之App开发团队必须知道的 iOS 11 更新点几iPhoneX的屏幕适配
  13. java去除 r_Android apk瘦身最佳实践(一):去除R.class
  14. 一个简单的前后端分离案例
  15. 无线射频识别问答习题
  16. 头孢一代比一代强吗?
  17. supervisor备忘
  18. 帝国CMS二次开发 – 使用程序本身的SQL类
  19. 【第16周复盘】学习的飞轮
  20. TPS5430正电源转正负电源 低纹波

热门文章

  1. 小白之玩转Mac--自动切换输入法
  2. 笔记10.9:硬盘、计算机启动过程、缓冲缓存
  3. vue改变class内的属性_vue绑定html的class属性的方法
  4. python 堆叠柱状图 多列 复杂_[Python Study Notes]堆叠柱状图绘制
  5. B2B平台显现5大价值特征和6种商业创新模式
  6. SQL Server HA - 数据库镜像 (Mirroring)
  7. 2022上半年软考电子证书可以查询拉!
  8. java中字符串和数字变量之间的转换方法
  9. 【二叉搜索树】(三) 小结
  10. QT生成动态链接库.so文件