web框架--tornado框架之模板引擎继承
2021-05-14 04:29
阅读:468
YPE html>
标签:框架 网页 views cat render for htm web框架 block
使用模板的继承可以重复使用相同结构的模板, 可以大大减少代码量
入门实例
一、demo目录结构
注解:
master.html为模板内容,被index.html,account.html引用
二、各文件代码
2.1、master.html
1 2 "en"> 3 4 "UTF-8"> 5Master 6 24 25 26 27class="page-header">28class="page-content"> 29 30 {% block tm_content %} 31 {% end %} 3233class="page-footer">34 35 {% block tm_js %} 36 {% end %} 37 38 39 {% block tm_css %} 40 {% end %} 41 42
2.2、form.html
2.3、account.html
1 {% extends "../template/master.html" %} 2 3 4 {% block tm_css %} 5 11 {% end %} 12 13 14 {% block tm_content %} 15这是我的account
16 {% end %} 17 18 19 {% block tm_js %} 20 23 {% end %}
2.4、index.html
{% extends "../template/master.html"%} {% block tm_css %} {% end %} {% block tm_content %}这是系统的首页
{%include "../include/form.html" %} {%include "../include/form.html" %} {% end %} {% block tm_js %} {% end %}
2.5、start.py
1 #!/usr/bin/env python 2 # -*- coding: utf-8 -*- 3 # @Time : 2019/12/5 23:41 4 # @Author : yusheng_liang 5 # @Site : 6 # @File : start.py 7 import tornado.web 8 import tornado.ioloop 9 10 class IndexHandle(tornado.web.RequestHandler): 11 def get(self, *args, **kwargs): 12 self.render("extend/index.html") 13 14 class AccountHandle(tornado.web.RequestHandler): 15 def get(self, *args, **kwargs): 16 self.render("extend/account.html") 17 18 if __name__ == "__main__": 19 CONTENTS_LIST = [] 20 settings = { 21 ‘template_path‘: ‘views‘, 22 } 23 24 application = tornado.web.Application([ 25 (r"/index", IndexHandle), 26 (r"/account", AccountHandle), 27 ], **settings) 28 29 application.listen(80) 30 tornado.ioloop.IOLoop.instance().start()
三、demo效果示例
3.1、http://127.0.0.1/index
3.2、http://127.0.0.1/account
详解分析
- 从运行结果来看, 两个网页的主体结构相同, 只是里边包含的
css
具体样式, 具体内容以及js
文件不同 - 要继承模板文件来使用我们要在当前文件首行写上
{%extends "../template/master.html"%}
, 这里表示当前文件以master.html
来进行渲染 - 在
master.html
文件中{%block tm_css%}{%end%}
相当与为后面具体要写入的内容做一个占位符, 并且起名为tm_css
web框架--tornado框架之模板引擎继承
标签:框架 网页 views cat render for htm web框架 block
原文地址:https://www.cnblogs.com/june-L/p/11992903.html
评论
亲,登录后才可以留言!