python---tornado初识(1)
# coding:utf8
# __author: Administrator
# date: 2018/3/6 0006
# /usr/bin/env python import tornado.ioloop
import tornado.web
import uimethod as mt
import uimodule as md name_list=[] class MainHandler(tornado.web.RequestHandler):
def get(self):
# self.write("Hello World")
# 默认当前路径寻找
# print(self.get_argument('name'))
# print(self.get_argument('age'))
self.render("s1.html",ccc=name_list,nm="mmp") def post(self, *args, **kwargs):
name=self.get_argument('xxx')
name_list.append(name)
self.render("s1.html",ccc=name_list) st ={
"template_path": "template",#模板路径配置
"static_path":'commons', #js css等静态文件路径配置 无论这里配置了什么路径,在静态文件中使用都是用static 可以使用static_url获取资源,会生成缓存(后缀v=..)
#"static_url_prefix":'/ss/', #在static_path必须存在的基础上 类似于对其取了一个别名
#若是没有static_url_prefix,则在静态文件中的资源获取为static/s1.css
#当存在static_url_prefix时,(前提已经存在static_path),这时具体路径程序已经获取,你只需要在资源前面加上这个前缀,不需要自己去写具体url
#就是可以看做为static_path起了一个别名
#static_url_prefix了解即可,不常用
'ui_methods':mt, #自定义函数在模板中使用{{}}
'ui_modules':md, #自定义类在模板中使用{% %}
} #路由映射 匹配执行,否则404
application = tornado.web.Application([
("/index",MainHandler),
],**st) if __name__=="__main__":
application.listen(8080) #io多路复用
tornado.ioloop.IOLoop.instance().start()
uimethod.py
def func(self,nm):
return ''+nm
uimodule.py
from tornado.web import UIModule
from tornado import escape class custom(UIModule):
def render(self, *args, **kwargs):
return ""
模板中使用
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<!--<link rel="stylesheet" href="{{static_url('s1.css')}}"/>-->
<link rel="stylesheet" href="static/s1.css">
</head>
<body>
<h1>fagfagaggwag</h1>
<form method="post" action="/index">
<input type="text" name="xxx">
<input type="submit" value="提交">
</form>
<ul>
{% for item in ccc %}
<li>{{item}}</li>
{% end %}
<h2>{{ func(nm) }}</h2>
<h3>{% module custom() %}</h3>
</ul>
</body>
</html>
python---tornado初识(1)的更多相关文章
- Python Tornado简介
简介 Tornado 是 FriendFeed 使用的可扩展的非阻塞式 web 服务器及其相关工具的开源版本.这个 Web 框架看起来有些像web.py 或者 Google 的 webapp,不过为了 ...
- python tornado websocket 多聊天室(返回消息给部分连接者)
python tornado 构建多个聊天室, 多个聊天室之间相互独立, 实现服务器端将消息返回给相应的部分客户端! chatHome.py // 服务器端, 渲染主页 --> 聊天室建立web ...
- Python.tornado.0
Tornado https://github.com/facebook/tornado http://www.tornadoweb.org/en/stable/guide/intro.html (A ...
- Python笔记初识
Python笔记初识
- 孤荷凌寒自学python第六十七天初步了解Python爬虫初识requests模块
孤荷凌寒自学python第六十七天初步了解Python爬虫初识requests模块 (完整学习过程屏幕记录视频地址在文末) 从今天起开始正式学习Python的爬虫. 今天已经初步了解了两个主要的模块: ...
- Python正则表达式初识(十)附正则表达式总结
今天分享正则表达式最后一个特殊字符“\d”,具体的教程如下. 1.特殊字符“\d”十分常用,其代表的意思是数字.代码演示如下图所示. 其中“+”的意思是表示连续,在这里代表的意思是连续的数字.但是输出 ...
- Python正则表达式初识(二)
前几天给大家分享了Python正则表达式初识(一),介绍了正则表达式中的三个特殊字符“^”.“.”和“*”,感兴趣的伙伴可以戳进去看看,今天小编继续给大家分享Python正则表达式相关特殊字符知识点. ...
- Python基础初识
一.安装 暂时没空写,预留 二.python基础初识 2.1 注释 当行注释:# 被注释内容 多行注释:'''被注释内容''',或者"""被注释内容"" ...
- SpringCloud 融入 Python - Tornado
前言 该篇文章分享如何将Python Web服务融入到Spring Cloud微服务体系中,并调用其服务,Python Web框架用的是Tornado 构建Python web服务 引入py-eure ...
- 我的Python学习之路 Python的初识与准备工作
注:文笔不好,不喜勿喷,当个段子看看就好 一.初识Python 第一次听到Python是在2016年大概暑假 时候(即将大三),因为对黑客技术的蜜汁热爱(虽然自己并不会),在玄魂大大的公众微信号中看到 ...
随机推荐
- Dynamic Routing Based On Redis
Dynamic Routing Based On Redis Ngnix技术研究系列2-基于Redis实现动态路由 上篇博文我们写了个引子: Ngnix技术研究系列1-通过应用场景看Nginx的反 ...
- 7-Python3从入门到实战—基础之数据类型(字典-Dictionary)
Python从入门到实战系列--目录 字典的定义 字典是另一种可变容器模型,且可存储任意类型对象:使用键-值(key-value)存储,具有极快的查找速度: 字典的每个键值(key=>value ...
- Windows10下Docker监控管理工具:Hyper-V管理器
用Hyper-V管理器监控管理Docker,看到最新的MobyLinuxVM了. 今天启动Docker,出现内存不足的问题,调节内存配置即可.
- Java 中文 乱码问题
Java平台遇到的两类问题: 1.源代码中文乱码问题: a.Java文件,中文乱码,配置IDE的Preference的编码格式,总有一款适合你. b.HTML(JSP.....)文件,中文乱码,添加并 ...
- Jfrog 与 jenkins Sonarqube的 测试样例 (From jfrog 培训)
1. 获取jfrog 仓库地址 sonar的地址 jenkins的地址. 本次例子的地址为: jenkins地址:http://10.24.101.99:8080/ artifactory地址: ht ...
- Ionic3.x设置启动页与图标
由于手机有很多不同的尺寸与版本,所以图标尺寸也是大小不一,但是如果手动每一个尺寸都制作一个图标,那估计美工会吐血吧,不过幸好,ionic只需要一个图标就可以制作不同尺寸的图标. 添加一个ionic项目 ...
- GIL全局解释器锁+GIL全局解释器锁vs互斥锁+定时器+线程queue+进程池与线程池(同步与异步)
以多线程为例写个互斥锁 from threading import Thread ,Lockimport timemutex = Lock() n = 100 def task(): global n ...
- 修改VCL源码实现自定义输入对话框
来自:https://yq.aliyun.com/wenji/88428 通过修改VCL源码实现自定义输入对话框 在BCB中有两个函数可以实现输入对话框:InputBox和InputQuery,其实I ...
- selenium之安装和登陆操作举例
安装selenium: python -m pip install selenium-3.4.3-py2.py3-none-any.whl 下载对应浏览器版本的驱动,且在环境变量PATH中指定驱动程序 ...
- matlab数据导入verilog仿真
Matlab中的fopen和fprintf函数可以生成txt格式文件,并将波形数据以 %d 整数 %e 实数:科学计算法形式 %f 实数:小数形式 %g 由系统自动选取上述两种格式之一 %s 输出字符 ...