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 ...
随机推荐
- markdownpad2-注册码-2017-02-23
MarkdownPad2.5/2 注册码 User: Soar360@live.com 授权: GBPduHjWfJU1mZqcPM3BikjYKF6xKhlKIys3i1MU2eJHqWGImD ...
- FireMonkey 源码学习(5)
(5)UpdateCharRec 该函数的源码分析如下: procedure TTextLayoutNG.UpdateCharRec(const ACanvas: TCanvas; NeedBitma ...
- 关于BOARD_SYSTEMIMAGE_PARTITION_SIZE【转】
本文转载自:https://blog.csdn.net/ttxgz/article/details/7542380 1. 系统需要,把需要预置在系统的所有apk放在目录 device/softwinn ...
- 编译openwrt时总是报错“staging_dir/target-aarch64_generic_glibc/stam$/.tools_compile_yynyyyyynyyyyynyynnyyyynyyyyyyyyyyyyyyynyynynnyyynny' failed”
1. 详细错误如下: tools/Makefile:146: recipe for target '/home/jello/openwrt/staging_dir/target-aarch64_gen ...
- Spyder 调出绘图界面
Tools->Preference->IPython console->Graphics->Graphics backend->QT4 or QT5
- (转)开源项目miaosha(下)
石墨文档:https://shimo.im/docs/2XlwliBQAYsKCHbq/ (二期)20.开源秒杀项目miaosha解读(下) [课程20]jmeter.xmind81.5KB [课程2 ...
- C# winfrom 当前程序内存读取和控制
https://zhidao.baidu.com/question/31914620.html https://www.cnblogs.com/xcsn/p/4678322.html Process ...
- 【论文笔记】Spatial Temporal Graph Convolutional Networks for Skeleton-Based Action Recognition
Spatial Temporal Graph Convolutional Networks for Skeleton-Based Action Recognition 2018-01-28 15:4 ...
- HDU 1241 Oil Deposits(石油储藏)
HDU 1241 Oil Deposits(石油储藏) 00 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Probl ...
- 软件开发架构、网络基础知识、osi七层模型
一.软件开发的架构 涉及到两个程序之间通讯的应用大致可以分为两种: 第一种是应用类:qq.微信.网盘.优酷这一类是属于需要安装的桌面应用 第二种是web类:比如百度.知乎.博客园等使用浏览器访问就可以 ...