python_way ,day22 tonardo

python_way day22

1.tonardo


一、tonardo:

#!/usr/bin/env python3# Created by han on 2016/10/23import os, syssys.path.append(os.path.dirname(os.path.abspath(__file__)))import tornado.ioloopimport  tornado.webUSER_INFO = []

class MainHadler(tornado.web.RequestHandler):    def get(self):        self.write("hello,word")   #相当于django的HTTPResponse

class CmdbHander(tornado.web.RequestHandler): #tornado内部使用反射来找到类中对应的方法    def get(self):        # self.write("cmdb")        self.render("index.html")

def post(self):                                   #以post方式请求,        user = self.get_argument("user")              #获取post请求的信息        pwd = self.get_argument("password")        USER_INFO.append({"u": user, "p": pwd})        self.redirect(‘/home‘)                           #跳转

class HomeHadler(tornado.web.RequestHandler):    def get(self):        self.render("home.html", user_info_list = USER_INFO)       #模板渲染

#源码中的反射:# obj = CmdbHander()# func = getattr(obj, "get")# func()

#配置模板路径settings = {    "template_path":"template",    #自定义页面放置位置    "static_path": "static",       #自定义静态文件放置位置,定义好以后在html页面中写上link标签引入静态文件才能生效}

application = tornado.web.Application([    (r"/main", MainHadler),], **settings)                     #只需要在application这里增加setttings这个配置

application.add_handlers("cmdb.old.com",[    (r"/home", HomeHadler),])

application.add_handlers("cmdb.old.com",[    (r"/main", CmdbHander),])

if __name__ == "__main__":    application.listen(8888)    tornado.ioloop.IOLoop.instance().start()

1、从请求头中获取请求方式:

 

2、html

<!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <title>Title</title></head><body>    <h1>        hello HOME    </h1>    <ul>        <!--模板语言-->        {% for item in user_info_list %}        <li>            {{item[‘u‘]}}        </li>        <li>            {{ item.get("p","default")}}            </li>        {% end %}      <!--注意end结尾,不再是endfor了-->    </ul> </body></html>

  

 

时间: 2024-10-29 19:07:53

python_way ,day22 tonardo的相关文章

python_way.day7 模块(configparser,xml,shutil,subprocess)、面向对象(上)(创建类,类的构成,函数式编程与面向对象编程的选择,类的继承)

python_way.day7 1.模块 configparser,xml,shutil,subprocess 2.面向对象(上) 创建类,类的构成,函数式编程与面向对象编程的选择,类的继承 1.模块 configparser 用于处理特定格式的文件,其本职上使用open来操作,只能是  [test1] 特定的格式 [test1] k1 = 123 k2 = True [test2] k1 = 123 k2 = v1 文件内容 1.获取 import configparser #打开文件找到文件

python_way day6 反射,正则 模块

python_way day6 反射 正则 模块 一.模块: 1.sys & os: 我们在写项目的时候,经常遇到模块互相调用的情况,但是在不同的模块下我们通过什么去可以找到这些模块的位置哪? 那就是环境变量! 如何查看当前的环境变量?a = sys.pathprint(a)['D:\\资料\\python\\oldboy13\\jobs\\day5\\conf', 'D:\\资料\\python\\python35\\lib\\site-packages\\requests-2.10.0-py

python_way day18 html-day4, 模板

python_way day18 html-day4 模板语言之母板的使用 在我们写一些后台管理页面的时候,因为后台的样式,布局基本一致,只有页面右侧数据展示部分不同,我们就为了省去重复的写多个一样的页面就还可以使用模板的母板功能,类似于写一个函数,每次调用这个函数就可以完成相同的工作了. 母板: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8">

python_way day17 前段插件(fontawsome,easyui,bootstrap,jqueryui,bxslider,jquerylazyload),web框架

python_way day17 一.模板插件 图标的插件 fontawsome: 后台管理: easyui jqueryui 很多网站都会用: bootstrap :引入jQuery:(2.x,1.1.) :引入js bootstrap模板: bootstrap后台管理模板: bxslider:轮播图 jquerylazyload:延迟加载,所有的图片延迟加载 http://www.cnblogs.com/wupeiqi/articles/5813161.html faulure_limit:

python_way day16 JavaScirpt(re)、 DOM 、 jQuery、

Python_way day16 1.Dom  (找到html中的标签) 2.Javascirpt(正则) 3.jQuery(1.10,1.12-兼容性好,2.0.以后放弃了ie9以下) - 封装了Dom & JavaScript 一.DOM 1.查找元素 直接查找 document.getElementById 根据ID获取一个标签 --->这里是获取一个标签中间没有s document.getElementsByName 根据name属性获取标签集合 document.getElemen

python_way ,day2 字符串,列表,字典,时间模块

python_way ,day2 字符串,列表,字典,时间模块 1.input: 2.0 3.0 区别 2.0中 如果要要用户交互输入字符串: name=raw_input() 如果 name=input() 是传什么就是对应的什么,想输入字符串需要加 “” 引号,如果要是不加就认为传入的是个变量. a="hahaha"user=input("shuru :")print(user) shuru :a hahaha 3.0中 只有 input() 了 所以在inpu

python_way ,day11 进程

if __name__ == '__main__': for i in range(10): p = Process(target=foo, args=(i,)) # p.daemon = True #主线程默认等子线程,写上这段就不等了 p.start() print("123") print("123") print("123") p.join() #主线程运行到这里等待所有的子线程,等某一个子线程完成了,再执行下一个进程. python_w

python_way,day4

python_way,day4 1.内置函数 - 下 2.装饰器 1.内置函数 - 下 1 callable() #对象能否被调用 2 chr() #10进制数字对应的ascii码表中的内容 3 ord() #查询对应的ascii码表中的元素的位置 chr(65) A ord(A) 65 使用random这个模块和chr()写一个生成验证码的功能. import random li = [] def num(): """ 生成一个随机的元素,这个元素可能是大写字母,小写字母还

python_way,day3

python_way,day3 一.集合 二.函数 三.三元运算 四.lambda 五.python的内置函数 六.字符转换 七.文件处理 一.集合: 1.集合的特性: 特性:无序,不重复的序列 如果定义的时候有重复的,就会自动的去重 2.创建: 1 se = {'123','234'} 2 se=set() 功能: #转换: li=[1,2,3] s1=set(li) 转换一个列表为集合 #原理就是调用了set __init__构造方法,就是做了一个for循环. 操作: 1 set.add()