Python之web模板

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

内容简介: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模板》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

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

The Art of Computer Programming, Volume 4,  Fascicle 3

The Art of Computer Programming, Volume 4, Fascicle 3

Donald E. Knuth / Addison-Wesley Professional / 2005-08-05 / USD 19.99

Finally, after a wait of more than thirty-five years, the first part of Volume 4 is at last ready for publication. Check out the boxed set that brings together Volumes 1 - 4A in one elegant case, and ......一起来看看 《The Art of Computer Programming, Volume 4, Fascicle 3》 这本书的介绍吧!

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换