成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

Tornado-07、Tornado的ui_modules和ui_methods

caohaoyu / 1475人閱讀

摘要:最后只需要在需要的頁面添加如下代碼就行最后在模板還提供了一些其他的功能設(shè)置局部變量通過設(shè)置局部變量使用語句,使用函數(shù)的作用范圍到最近的為止生成一個鏈接百度百度附錄通過設(shè)置局部變量百度百度我是

1.ui_modules和ui_methods

第一步:新建文件uimethods.py ,這里的文件名是隨意的只要在import時合法就行

def methods1(self):  #注意這里要加上self
    return  "ui_methods 1"

def methods2(self):
    return  "ui_methods 2"

新建文件uimodules.py,使用ui_modules需要繼承UIModule類

from tornado.web import UIModule
class UiModule(UIModule):
    def render(self, *args, **kwargs):
        return "我是ui_module"

第二步:在項目中導(dǎo)入

import util.uimethods
import util.uimodules

第三步:在application配置參數(shù),值是導(dǎo)入的模塊名

ui_methods=util.uimethods,
ui_modules=util.uimodules,
#也可以寫成字典的形式,其實在tornado內(nèi)部就是解析成字典的形式
ui_modules={"UiModule":util.uimodules.UiModule},

class Calculation:
    def sum(self,a,b):
        return a+b

class UiHandler(tornado.web.RequestHandler):
    def fun(self):
        return "hujing"

    def get(self):
        username = "haha"
        self.render("module.html",
                    username=username,
                    fun=self.fun,
                    cal=Calculation
                    )

第四步:在HTML中調(diào)用,導(dǎo)入的ui_modules需要使用module語句調(diào)用


{% module UiModule() %}

{{ methods1() }}

ui_modules和ui_methods提高了方法和類的復(fù)用性,可以在全局使用。

最后只需要在需要的頁面添加如下代碼就行

{% module Advertisement() %}

最后在模板還提供了一些其他的功能

set設(shè)置局部變量


{% set su = Count().sum %}
{{ su(6,9) }} 
{% set args = Count().args %} {% for a in args(1,2,3,4,5) %} {{ a }}
{% end %}

使用apply語句,使用函數(shù)的作用范圍到最近的{%end%}為止

{% apply upper %}
    hello world
hahaha {% end %} {{ upper("hahaha") }}

linkify生成一個鏈接

{{ linkify("百度: http://www.baidu.com") }} 
{%raw linkify("百度: http://www.baidu.com") %}


2.附錄

module.html

    
    
    
        
        Module
    
    
        {{ username }}
{{ fun() }}
{{ cal().sum(6,9) }}
{% import time %} {{ time.time() }}
{% from util.mode_file import sub,upper,Count %} {{ sub(5,3) }}
{{ upper("wenmang") }}
{{ Count().url }}
{% raw Count().url %}
{{ Count().sum(6,9) }}
{{ Count.sum(6,9) }}
{{ Count().args(1,2,3,4) }}
{{ methods1() }}
{% module UiModule() %}
{% set su = Count().sum %} {{ su(6,9)}} {% set args = Count().args %} {% for a in args(1,2,3,4,5)%} {{ a }}
{% end %} {% apply upper %}
ren hao e
xieyulong bu e {% end %}
{{ upper("hahaha") }}
{{ linkify("百度:http://www.baidu.com") }}
{% raw linkify("百度:http://www.baidu.com") %}

uimodules.py

    from tornado.web import UIModule
    
    class UiModule(UIModule):
        def render(self, *args, **kwargs):
            return "我是 ui_module"


uimethods.py

def methods1(self):
    return "ui_methods1"

def methods2(self):
    return "ui_methods2"

start1.py

import tornado.httpserver
import tornado.ioloop
import tornado.options
import tornado.web

import util.uimodules
import util.uimethod

from tornado.options import define,options

define("port",default=9000,help="run port",type=int)

class Calculation:
    def sum(self,a,b):
        return a+b

class UiHandler(tornado.web.RequestHandler):
    def fun(self):
        return "hujing"

    def get(self):
        username = "haha"
        self.render("module.html",
                    username=username,
                    fun=self.fun,
                    cal=Calculation
                    )


if __name__ == "__main__":
    tornado.options.parse_command_line()

app = tornado.web.Application(
    handlers=[
        (r"/ui",UiHandler),
    ],
    template_path="templates",
    static_path="static",
    ui_methods=util.uimethod,
    ui_modules=util.uimodules,
    # ui_modules={"UiModule":util.uimodules.UiModule},
    debug=True,
)
http_server = tornado.httpserver.HTTPServer(app)
http_server.listen(options.port)
tornado.ioloop.IOLoop.instance().start()


文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/44640.html

相關(guān)文章

  • Tornado源碼閱讀筆記】tornado.web.Application

    摘要:從的開始分析的源碼很容易可以看出,通過繼承類定義自己的處理類,來處理請求。類的對象來處理的路由將于處理類組成,關(guān)聯(lián)起來。調(diào)用的來將和綁定在一起初始化一個的對象,由其來處理請求的路由,來利用建立的規(guī)則。 從tornado的 Hello,world 開始分析tornado的源碼 pythonimport tornado.ioloop import tornado.web class M...

    Cympros 評論0 收藏0
  • Tornado 4.3文檔翻譯: 用戶指南-模板UI

    摘要:譯者說于年月日發(fā)布,該版本正式支持的關(guān)鍵字,并且用舊版本編譯同樣可以使用這兩個關(guān)鍵字,這無疑是一種進(jìn)步。其次,這是最后一個支持和的版本了,在后續(xù)的版本了會移除對它們的兼容。 譯者說 Tornado 4.3于2015年11月6日發(fā)布,該版本正式支持Python3.5的async/await關(guān)鍵字,并且用舊版本CPython編譯Tornado同樣可以使用這兩個關(guān)鍵字,這無疑是一種進(jìn)步。其次...

    shiguibiao 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<