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的更多相关文章

  1. Python(九)Tornado web 框架

    一.简介 Tornado 是 FriendFeed 使用的可扩展的非阻塞式 web 服务器及其相关工具的开源版本.这个 Web 框架看起来有些像web.py 或者 Google 的 webapp,不过 ...

  2. tornado web 框架的认识

    tornado 简介 1,概述 Tornado就是我们在 FriendFeed 的 Web 服务器及其常用工具的开源版本.Tornado 和现在的主流 Web 服务器框架(包括大多数 Python 的 ...

  3. tornado 学习笔记9 Tornado web 框架---模板(template)功能分析

            Tornado模板系统是将模板编译成Python代码.         最基本的使用方式: t = template.Template("<html>{{ myv ...

  4. tornado web高级开发项目之抽屉官网的页面登陆验证、form验证、点赞、评论、文章分页处理、发送邮箱验证码、登陆验证码、注册、发布文章、上传图片

    本博文将一步步带领你实现抽屉官网的各种功能:包括登陆.注册.发送邮箱验证码.登陆验证码.页面登陆验证.发布文章.上传图片.form验证.点赞.评论.文章分页处理以及基于tornado的后端和ajax的 ...

  5. Tornado web.authenticated 用户认证浅析

    在Web服务中会有用户登录后的一系列操作, 如果一个客户端的http请求要求是用户登录后才能做得操作, 那么 Web服务器接收请求时需要判断该请求里带的数据是否有用户认证的信息. 使用Tornado框 ...

  6. 浅析tornado web框架

    tornado简介 1.tornado概述 Tornado就是我们在 FriendFeed 的 Web 服务器及其常用工具的开源版本.Tornado 和现在的主流 Web 服务器框架(包括大多数 Py ...

  7. Tornado web 框架

    Tornado web 框架 其实很简单.深度应用 一.简介 Tornado 是 FriendFeed 使用的可扩展的非阻塞式 web 服务器及其相关工具的开源版本.这个 Web 框架看起来有些像we ...

  8. tornado.web.Application类配置及使用

    Application configuration classtornado.web.Application(handlers=None, default_host='', transforms=No ...

  9. tornado web框架

    tornado web框架 tornado简介 1.tornado概述 Tornado就是我们在 FriendFeed 的 Web 服务器及其常用工具的开源版本.Tornado 和现在的主流 Web ...

  10. tornado web高级开发项目

    抽屉官网:http://dig.chouti.com/ 一.配置(settings) settings = { 'template_path': 'views', #模板文件路径 'static_pa ...

随机推荐

  1. memory cache 和 disk cache

    memory cache简介:MemoryCache顾名思义,就是将资源缓存到内存中,等待下次访问时不需要重新下载资源,而直接从内存中获取.Webkit早已支持memoryCache. 目前Webki ...

  2. hdu 1394 Minimum Inversion Number - 树状数组

    The inversion number of a given number sequence a1, a2, ..., an is the number of pairs (ai, aj) that ...

  3. UVa 12099 The Bookcase - 动态规划

    题目大意 给定一些书,每个书有一个高度和宽度,然后将它们放到一个三层的书架里(要求每一层都不为空).定义书架的大小为每层最大的高度和 乘 每层宽度和的最大值.求最小的书架大小. 显然动态规划(直觉,没 ...

  4. 【Python57--正则1】

    一.正则表达式匹配IP地址 1.search()方法:用于在字符串中搜索正则表达式模式第一次出现的位置 >>> import re >>> re.search(r' ...

  5. Django框架(九) Django之ORM常用字段和参数

    ORM字段 AutoField int自增列,必须填入参数 primary_key=True.当model中如果没有自增列,则自动会创建一个列名为id的列. IntegerField 一个整数类型,范 ...

  6. Vim 插键及配置

    如果你觉得这个页面广告太多,欢迎移步博客阅读:Vim 插键及配置 编辑器之神 -- Vim 平日使用vim经常编辑文件,想想使用时的痛点,决定研究一下插件的使用. Vim的扩展通常也被成为bundle ...

  7. 编译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 ...

  8. CodeForces 509C Sums of Digits(贪心乱搞)题解

    题意:a是严格递增数列,bi是ai每一位的和,告诉你b1~bn,问你怎样搞才能让an最小 思路:让ai刚好大于ai-1弄出来的an最小.所以直接模拟贪心,如果当前位和前一个数的当前位一样并且后面还能生 ...

  9. Servlet简介及其生命周期详解

    简介        Servlet生命周期,即阐述Servlet从产生到毁灭的整个过程.         在Servlet产生到消亡的过程中,有三个生命周期函数,初始化方法init(),处理客户请求的 ...

  10. facebook api之Access Tokens之Business Manager System User

    Business Manager System User Make programatic, automated actions on ad objects or Pages, or do progr ...