首页 > 其他 > 详细

tornado框架基本页面

时间:2020-05-10 18:45:07      阅读:34      评论:0      收藏:0      [点我收藏+]

1.后端代码

import tornado.ioloop
import tornado.web  # web应用api
from utils import ui_methods, ui_modules

# 定义一个类,给模板使用
class People:
    def run(self):
        return 正在跑步

    def eat(self):
        return 正在吃东西


class MainHandler(tornado.web.RequestHandler):
    # 定义一个方法,给模板使用
    def test(self):
        return 这是一个方法

    def get(self):
        html = <h1>Hello World</h1>
        data = {
            html: html,
            test: self.test,
            people: People
        }
        self.render(index.html, **data)


def make_app():
    return tornado.web.Application([  # tornado配置,静态文件等
        (r"/", MainHandler),  # 配置路由

    ],
        debug=True,
        autoescape=None,  # 所有html模板都是取消转义
        static_path=../static,  # 配置静态文件路径
        template_path=../template,  # 配置模板路径
        ui_methods=ui_methods,  # 注册自定义方法
        ui_modules=ui_modules,  # 注册自定义模板
    )


if __name__ == "__main__":  # 只有在当前文件运行的时候才会执行
    app = make_app()
    app.listen(8888)
    tornado.ioloop.IOLoop.current().start()  # 开启tornado服务
    

2.HTML页面

{% autoescape None %}  <!-- 让整个html文件的标签都取消转义 -->
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
{{ html }}<br>
{{ escape(html) }}<br> <!-- 让html标签转义 -->
{% raw html %}<br> <!-- html标签取消转义 -->

{{ test() }}<br>  <!-- 使用后端的方法 -->

{% set p = people() %}  <!-- 使用后端的类,实例化 -->
{{ p.run() }}<br>
{{ p.eat() }}<br>

{{ func() }}<br>  <!-- 使用后端的方法 -->
{% module Custom() %}  <!-- 使用后端的类,实例化 -->

</body>
</html>

3.自定义模板

技术分享图片
ui_modules.py文件:定义模板类与方法

# 用来写常用的类,给模板使用的
from tornado.web import UIModule


class Custom(UIModule):
    def embedded_css(self):  # 嵌入式css样式
        return "h1{color:pink}"

    def css_files(self):
        return css静态文件

    def embedded_javascript(self):  # 嵌入javascript代码
        return "alert(123)"

    def javascript_files(self):
        return javascript静态文件

    def render(self,*args,**kwargs):
        # return "<h1>返回内容</h1>"  # 不设置转译是什么东西直接输出
        return self.render_string(404.html)  # 也可以返回一个页面

ui_methods.py文件:自定义方法

# 用来写常用的函数,给模板使用的

def func(self):
    return 这是一个常用的方法

4.运行效果图

技术分享图片

 

tornado框架基本页面

原文:https://www.cnblogs.com/nanamiyi/p/12864287.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!