Python之web模板应用

作者:谷雨yun 时间:2021-06-27 10:13:47 

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(" rel="external nofollow" xxx.css") }}" rel="stylesheet" />,如果设置了静态文件路径(比如tornado.web.Application中参数settings的选项static_path),则该参数为设置的静态文件路径下的相对路径;

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

3)更新中...

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


#!/usr/bin/env python
# -*- coding: utf-8 -*-
import tornado.web
import tornado.ioloop
from tornado.options import define, options
define('port', default=8888, help='run on give the give port', type=int)

# 用于处理网页的请求
class MainHandler(tornado.web.RequestHandler):
 def get(self, *args, **kwargs):
   personinfodict = {
     'name': 'Jason',
     'age': 20,
     'gender': 'male',
   }
   itemlist = ['name', 'age', 'gender']
   # 将变量以参数的形式传入HTML模板中
   self.render('personinfo.html', itemlist=itemlist, personinfodict=personinfodict, welcome='hello guy!')

# 设置不同路由的网页对应的处理类
app = tornado.web.Application([
 (r'/', MainHandler)
])

# 开始主程序I/O循环
if __name__ == '__main__':
 app.listen(options.port)
 tornado.ioloop.IOLoop.instance().start()

<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <!-- 使用表达语句输出变量的值 -->
 <title>{{ welcome }}</title>
</head>
<body>
 <ul><!-- 使用控制语句控制HTML内容的输出,也减少了许多工作量 -->
 {% for item in itemlist %}
   <li>{{ item }}: {{ personinfodict[item] }}</li>
 {% end %}
 </ul>
</body>
</html>

来源:http://www.cnblogs.com/guyuyun/p/7995613.html

标签:Python,web,模板
0
投稿

猜你喜欢

  • Python利用tkinter实现一个简易番茄钟的示例代码

    2021-03-02 17:20:59
  • Python Pygame实现落球游戏详解

    2021-06-23 00:54:38
  • Python常用数据类型之间的转换总结

    2023-06-21 10:06:21
  • Python使用PDFMiner解析PDF代码实例

    2023-03-30 06:56:45
  • Python实现各种邮件发送

    2021-09-01 17:35:47
  • JS设计模式之责任链模式实例详解

    2023-03-17 08:23:42
  • 查看Oracle的执行计划一句话命令

    2010-07-16 13:02:00
  • 网页代码更清晰高效的一些经验

    2008-05-19 12:23:00
  • SQL Server中常用截取字符串函数介绍

    2024-01-25 16:34:02
  • 完美解决ARIMA模型中plot_acf画不出图的问题

    2023-07-13 14:17:34
  • Python生成器实现简单"生产者消费者"模型代码实例

    2022-06-30 02:36:03
  • Django在Model保存前记录日志实例

    2023-10-05 03:01:29
  • Python中的异常类型及处理方式示例详解

    2022-10-27 14:55:58
  • 远程登陆SQL Server 2014数据库的方法

    2024-01-28 03:39:01
  • 微信公众平台开发教程⑤ 微信扫码支付模式介绍

    2023-11-14 10:40:10
  • MySQL MEM_ROOT详解及实例代码

    2024-01-15 13:42:54
  • Visual Studio 2017使用EF选择MySQL数据源

    2024-01-25 04:13:23
  • Django使用mysqlclient服务连接并写入数据库的操作过程

    2024-01-27 14:55:39
  • Python中实现结构相似的函数调用方法

    2021-12-04 10:31:03
  • linux正确重启MySQL的方法

    2024-01-25 14:38:09
  • asp之家 网络编程 m.aspxhome.com