Python之web模板

栏目: Python · 发布时间: 8年前

内容简介:Python之web模板

Python的web模板,其实就是在HTML文档中使用控制语句和表达语句替换HTML文档中的变量来控制HTML的显示格式,Python的web模板可以更加灵活和方便的控制HTML的显示,而且大大地减少了编程人员的工作量。

模板语法:

1、控制语句{% ... %}:控制语句需要用{% end %}来作为此语句结束标志,通常用来作循环控制、条件控制、模块控制等,可以更加方便的控制HTML内容的显示;

2、表达语句{{ ... }}:一条表达语句就相当于一条 Python 语句,不需要结束语句,{{和}}之间可以放入任何Python表达式,Python模板语法可以自动运行{{和}}中的语句并把运行结果显示在HTML模板中;

3、母板继承:在母板中使用{% block block_name %}{% end %}进行模块的占位,block_name可以自己定义,其他的都是固定的语法格式;在子模板中使用{% extends  "xxx.html" %}表示此HTML模板继承自“xxx.html”模板(母板),然后在子模板中使用{% block block_name %} ... {% end %}重新定义母板中占位的模块,子模板中定义模块内容就会显示在母板中占位的位置,不同的子模板中可以定义不同的模块内容来满足自身的需要;

4、模板导入:在一个HTML模板中使用{% include "xxx.html" %},就会将xxx.html的内容导入(嵌入)当前HTML模板中,一般会将一些公共内容写在一个模板中,然后导入到需要使用的模板中,以达到代码重用的效果,使模板编码更加简洁方便;

5、模板函数:

1)static_url("static_file_path"):导入静态文件,参数为静态文件的路径全名,例如<link href="{{ static_url("xxx.css") }}" rel="stylesheet" />,如果设置了静态文件路径(比如tornado.web.Application中参数settings的选项static_path),则该参数为设置的静态文件路径下的相对路径;

2)escape(string):将string中的$、<和>转换成对应的HTML字符串;

3)更新中...

下面是用tornado写的一个非常简单的web模板应用:

 1 #!/usr/bin/env python
 2 # -*- coding: utf-8 -*-
 3 import tornado.web
 4 import tornado.ioloop
 5 
 6 from tornado.options import define, options
 7 
 8 define('port', default=8888, help='run on give the give port', type=int)
 9 
10 
11 # 用于处理网页的请求
12 class MainHandler(tornado.web.RequestHandler):
13     def get(self, *args, **kwargs):
14         personinfodict = {
15             'name': 'Jason',
16             'age': 20,
17             'gender': 'male',
18         }
19         itemlist = ['name', 'age', 'gender']
20         # 将变量以参数的形式传入HTML模板中
21         self.render('personinfo.html', itemlist=itemlist, personinfodict=personinfodict, welcome='hello guy!')
22 
23 
24 # 设置不同路由的网页对应的处理类
25 app = tornado.web.Application([
26     (r'/', MainHandler)
27 ])
28 
29 # 开始主程序I/O循环
30 if __name__ == '__main__':
31     app.listen(options.port)
32     tornado.ioloop.IOLoop.instance().start()
 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <!-- 使用表达语句输出变量的值 -->
 6     <title>{{ welcome }}</title>
 7 </head>
 8 <body>
 9     <ul><!-- 使用控制语句控制HTML内容的输出,也减少了许多工作量 -->
10     {% for item in itemlist %}
11         <li>{{ item }}: {{ personinfodict[item] }}</li>
12     {% end %}
13     </ul>
14 </body>
15 </html>

Python之web模板


以上所述就是小编给大家介绍的《Python之web模板》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Elements of Programming

Elements of Programming

Alexander A. Stepanov、Paul McJones / Addison-Wesley Professional / 2009-6-19 / USD 39.99

Elements of Programming provides a different understanding of programming than is presented elsewhere. Its major premise is that practical programming, like other areas of science and engineering, mus......一起来看看 《Elements of Programming》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

在线进制转换器
在线进制转换器

各进制数互转换器

MD5 加密
MD5 加密

MD5 加密工具