tornado web
tornado web frame:
非阻塞服务器,速度快,运用epoll
模板语言+render(),实现根据用户输入,自动渲染页面的动态效果。
在使用模板前需要在setting中设置模板路径:
settings = {
"template_path" : "xxoo";
"static_path“:"ooxx"
"static_usr_prefix":"ox"
}
一、快速实现:
第一步 创建子类
第二布 创建application
第三部 run
二、模板引擎
在html中使用方式有:
{%if/else/for/while/try%} ...{%end%} structrue 结构
{{expression/variable}} 表达式 》》》》需要后端程序中传入变量的值,以键值对的形式: self.render('index.html',ooxx=input_list,aaa=word)
{%module myclass()%} UImodules
{{func()}} UImethods
UImethods / UImodules
定义 >> 导入+注册>> 使用
定义UImethod:
# uimethods.py
def tab(self):
return 'UIMethod'
定义UImodules
#!/usr/bin/env python
# -*- coding:utf-8 -*-
from tornado.web import UIModule
class custom(UIModule):
def render(self, *args, **kwargs):
return 123
导入+注册
import uimodules as md
import uimethods as mt
settings = {
'ui_methods': mt,
'ui_modules': md,
}
使用
<body>
<h1>hello</h1>
{% module custom(123) %}
{{ tab() }}
</body>
内置模板函数 ,重点使用 static_url()
eg: <link href="{{static_url("commons.css")}}" rel="stylesheet" />
效果:自动索引到后台的静态文件,并且生成md5值,返回到客户
<link href="/sss/common.css?v=114b63a591fc6e890f095ddc302666f9" rel="stylesheet" />
模板引擎的原理:
html --> 转换成 字符串函数 “def func():....” ---> compile + exec + 全局变量 --> 执行
详情见 :https://www.cnblogs.com/wupeiqi/p/4592066.html
cookies
self.set_cookie('key','value')
value = self.get_cookie('key')
签名cookie
self.set_secure_cookie("mycookie", "myvalue")
self.get_secure_cookie("mycookie")
settings = {'cookie_secret': 'aiuasdhflashjdfoiuashdfiuh'}
tornado web的更多相关文章
- Python(九)Tornado web 框架
一.简介 Tornado 是 FriendFeed 使用的可扩展的非阻塞式 web 服务器及其相关工具的开源版本.这个 Web 框架看起来有些像web.py 或者 Google 的 webapp,不过 ...
- tornado web 框架的认识
tornado 简介 1,概述 Tornado就是我们在 FriendFeed 的 Web 服务器及其常用工具的开源版本.Tornado 和现在的主流 Web 服务器框架(包括大多数 Python 的 ...
- tornado 学习笔记9 Tornado web 框架---模板(template)功能分析
Tornado模板系统是将模板编译成Python代码. 最基本的使用方式: t = template.Template("<html>{{ myv ...
- tornado web高级开发项目之抽屉官网的页面登陆验证、form验证、点赞、评论、文章分页处理、发送邮箱验证码、登陆验证码、注册、发布文章、上传图片
本博文将一步步带领你实现抽屉官网的各种功能:包括登陆.注册.发送邮箱验证码.登陆验证码.页面登陆验证.发布文章.上传图片.form验证.点赞.评论.文章分页处理以及基于tornado的后端和ajax的 ...
- Tornado web.authenticated 用户认证浅析
在Web服务中会有用户登录后的一系列操作, 如果一个客户端的http请求要求是用户登录后才能做得操作, 那么 Web服务器接收请求时需要判断该请求里带的数据是否有用户认证的信息. 使用Tornado框 ...
- 浅析tornado web框架
tornado简介 1.tornado概述 Tornado就是我们在 FriendFeed 的 Web 服务器及其常用工具的开源版本.Tornado 和现在的主流 Web 服务器框架(包括大多数 Py ...
- Tornado web 框架
Tornado web 框架 其实很简单.深度应用 一.简介 Tornado 是 FriendFeed 使用的可扩展的非阻塞式 web 服务器及其相关工具的开源版本.这个 Web 框架看起来有些像we ...
- tornado.web.Application类配置及使用
Application configuration classtornado.web.Application(handlers=None, default_host='', transforms=No ...
- tornado web框架
tornado web框架 tornado简介 1.tornado概述 Tornado就是我们在 FriendFeed 的 Web 服务器及其常用工具的开源版本.Tornado 和现在的主流 Web ...
- tornado web高级开发项目
抽屉官网:http://dig.chouti.com/ 一.配置(settings) settings = { 'template_path': 'views', #模板文件路径 'static_pa ...
随机推荐
- linux /Android 平台下使用 i2c-tools
下载源码将 i2c-tools 代码下载到 Android 源码的 external 目录下 在 i2c-tools 目录下新建 Android.mk 文件,内容如下: # external/i2c- ...
- Vijos 1404 遭遇战 - 动态规划 - 线段树 - 最短路 - 堆
背景 你知道吗,SQ Class的人都很喜欢打CS.(不知道CS是什么的人不用参加这次比赛). 描述 今天,他们在打一张叫DUSTII的地图,万恶的恐怖分子要炸掉藏在A区的SQC论坛服务器!我们SQC ...
- 1.多表查询 => 转化为一张联合大表 2.可视化工具 3.pymysql模块
多表数据 create table dep( id int primary key auto_increment, name varchar(16), work varchar(16) ); crea ...
- topcoder srm 663 div1
problem1 link 每次枚举$S$的两种变化,并判断新的串是否是$T$的子串.不是的话停止搜索. problem2 link 首先考慮增加1个面值为1的硬币后,$ways$数组有什么变化.设原 ...
- 5.sql2008分组与嵌套
1.Group by基本介绍;2.Having的使用;3.分组综合应用;4.子查询基本介绍;5.In/Exists/Any/Some/All;6.子查询综合应用; 1.Group by基本介绍:依据B ...
- Cmder + Babun 打造 Windows 好用的终端工具
Babun a windows shell you will love Babun features the following: Pre-configured Cygwin with a lot o ...
- Spring核心简介
Spring简介 Spring是一个开源.轻量级框架.在诞生之初,创建Spring的主要目的是用来替代更加重量级的企业级Java技术,尤其是EJB(Enterprise JavaBean).从最初的挑 ...
- WebLogic调用WebService提示Failed to localize、Failed to create WsdlDefinitionFeature
在本地Tomcat环境下调用WebService正常,但是部署到WebLogic环境中,则提示警告:[Failed to localize] MEX0008.PARSING_MDATA_FAILURE ...
- insert into table (a,b,c) select
本文为博主原创,转载请注明出处: 在项目中,需要统计数据,从基础表中的数据进行统计,并插入到汇总 表中, (1)语句形式为:Insert into Table2(field1,field2,...) ...
- 语法对照表ES5VSES6
模块 导入 在ES5里面,如果使用CommonJS的标准,引入包一般是使用require来的 //ES5 js var React = require("react") var { ...