zoukankan      html  css  js  c++  java
  • 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'}

        

  • 相关阅读:
    ubuntu安装docker-compose
    docker-compose常用命令(持续更新...)
    docker运行jpress
    gcc -o选项:指定输出文件
    gcc -c:只编译不链接,仅生成目标文件
    WMWare下安装centOS7,并使用xshell进行连接记录.
    主线程和子线程多种情况小探讨
    Sleep的本质
    为什么要对多线程进行加锁操作呢
    list操作相关总结
  • 原文地址:https://www.cnblogs.com/charles7987/p/9892571.html
Copyright © 2011-2022 走看看