Python全系列 教程
3567个小节阅读:5929.3k
目录
鸿蒙应用开发
C语言快速入门
JAVA全系列 教程
面向对象的程序设计语言
Python全系列 教程
Python3.x版本,未来主流的版本
人工智能 教程
顺势而为,AI创新未来
大厂算法 教程
算法,程序员自我提升必经之路
C++ 教程
一门通用计算机编程语言
微服务 教程
目前业界流行的框架组合
web前端全系列 教程
通向WEB技术世界的钥匙
大数据全系列 教程
站在云端操控万千数据
AIGC全能工具班
A A
White Night
Tornado中支持类似Vue中的组件功能,就是也公共的内容提取出来当成组件。
具体的使用方式:
继承tornado.web.UIModule
建立UI模型类
在tornado.web.Application
对象中使用ui_modules
参数设置UI模型映射
{"UI模型名":"UI模型类"}
在使用UI模型时,通过{% module UI名(<参数>) %}
xxxxxxxxxx
from tornado import web
from tornado import ioloop
# 用来处理请求,并响应结果
class IndexHandler(web.RequestHandler):
def count_price(self, price: int, num: int) -> int:
return price * num
def get(self):
orders = [
{
"id": 1,
"name": "MacPro 2060",
"type": "32G",
"price": 10000,
"num": 1,
"img": "/static/img/goods.jpg",
"opts": '<a href="delelte?id=1">删除</a>',
},
{
"id": 2,
"name": "HuaWei Mate 2060",
"type": "32G",
"price": 8000,
"num": 2,
"img": "/static/img/goods007.jpg",
"opts": '<a href="delelte?id=2">删除</a>',
},
{
"id": 3,
"name": "Sony耳机",
"type": "立体混音",
"price": 2000,
"num": 1,
"img": "/static/img/goods008.jpg",
"opts": '<a href="delelte?id=3">删除</a>',
},
]
self.render("shop15.html",orders=orders)
# 创建一个UImodule
class ProductModule(web.UIModule):
def count_price(self, price: int, num: int) -> int:
return price * num
def render(self,orders:list=[]) -> str:
return self.render_string('ui_module/product15.html', orders=orders, count_price=self.count_price)
if __name__ == "__main__":
import os
base_path = os.path.dirname(__file__)
settings = {
"template_path": os.path.join(base_path, "templates"),
"static_path": os.path.join(base_path, "static"),
"static_url_prefix": "/static/",
# 告诉tornado,有哪些UImodule可以使用
"ui_modules":{
"product":ProductModule
}
}
# 创建一个tornado应用
app = web.Application(
[
("/", IndexHandler),
],
debug=True,
**settings
)
# 设置监听端口
app.listen(8000)
# 通过事件循环来监听访问的端口
ioloop.IOLoop.current().start()
实时学习反馈
1. 在Tornado中,对使用UI模型说法不正确的是?
A 建立UI模型,直接建立普通的类,在tornado.web.Application
中声明好即可
B 建立的UI模型需要实现render
方法
C 需要在tornado.web.Application
中的ui_modules
参数上声明
D 通过{% module UI名(<参数>) %}
引入UI模型
答案
1=>A