Python之web模板应用


Posted in Python onDecember 26, 2017

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>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python中的下划线详解
Jun 24 Python
Python Unittest自动化单元测试框架详解
Apr 04 Python
python utc datetime转换为时间戳的方法
Jan 15 Python
django的聚合函数和aggregate、annotate方法使用详解
Jul 23 Python
django fernet fields字段加密实践详解
Aug 12 Python
Python 最强编辑器详细使用指南(PyCharm )
Sep 16 Python
python实现视频读取和转化图片
Dec 10 Python
Python中url标签使用知识点总结
Jan 16 Python
如何通过python实现人脸识别验证
Jan 17 Python
Matplotlib使用Cursor实现UI定位的示例代码
Mar 12 Python
Python爬虫之Selenium实现键盘事件
Dec 04 Python
python pandas 解析(读取、写入)CSV 文件的操作方法
Dec 24 Python
通过python+selenium3实现浏览器刷简书文章阅读量
Dec 26 #Python
如何在python中使用selenium的示例
Dec 26 #Python
Python使用Matplotlib实现Logos设计代码
Dec 25 #Python
利用Python2下载单张图片与爬取网页图片实例代码
Dec 25 #Python
Python实现生成随机数据插入mysql数据库的方法
Dec 25 #Python
python数据抓取分析的示例代码(python + mongodb)
Dec 25 #Python
Python实现生成随机日期字符串的方法示例
Dec 25 #Python
You might like
PHP查询数据库中满足条件的记录条数(两种实现方法)
2013/01/29 PHP
php中如何同时使用session和cookie来保存用户登录信息
2013/07/05 PHP
分享PHP源码批量抓取远程网页图片并保存到本地的实现方法
2015/12/01 PHP
PHP编写的图片验证码类文件分享
2016/06/06 PHP
分析PHP中单双引号的误区和双引号小隐患
2016/07/19 PHP
解决微信授权回调页面域名只能设置一个的问题
2016/12/11 PHP
PHP操作XML中XPath的应用示例
2019/07/04 PHP
laravel 实现划分admin和home 模块分组
2019/10/15 PHP
浅谈Laravel模板实体转义带来的坑
2019/10/22 PHP
网上应用的一个不错common.js脚本
2007/08/08 Javascript
JS操作COOKIE实现备忘记录的方法
2016/04/01 Javascript
深入浅出ES6之let和const命令
2016/08/25 Javascript
AngularJs Scope详解及示例代码
2016/09/01 Javascript
JS正则匹配中文的方法示例
2017/01/06 Javascript
vue组件实现文字居中对齐的方法
2017/08/23 Javascript
angular6.0开发教程之如何安装angular6.0框架
2018/06/29 Javascript
使用Angular 6创建各种动画效果的方法
2018/10/10 Javascript
JavaScript中Dom操作实例详解
2019/07/08 Javascript
基于layui table返回的值的多级嵌套的解决方法
2019/09/19 Javascript
[04:23]DOTA2上海特锦赛小组赛第一日 TOP10精彩集锦
2016/02/27 DOTA
Python3之读取连接过的网络并定位的方法
2018/04/22 Python
Django中的静态文件管理过程解析
2019/08/01 Python
Python使用正则实现计算字符串算式
2019/12/29 Python
Python中zip()函数的解释和可视化(实例详解)
2020/02/16 Python
Node.js 和 Python之间该选择哪个?
2020/08/05 Python
Alba Moda德国网上商店:意大利时尚女装销售
2016/11/14 全球购物
班级活动策划书
2014/02/06 职场文书
安全生产管理合理化建议书
2014/03/12 职场文书
花坛标语大全
2014/06/30 职场文书
维稳工作情况汇报
2014/10/27 职场文书
优秀党支部申报材料
2014/12/24 职场文书
捐资助学感谢信
2015/01/21 职场文书
奖学金感谢信
2015/01/21 职场文书
2016年党员公开承诺书格式范文
2016/03/24 职场文书
Python基础之常用库常用方法整理
2021/04/30 Python
Python基本的内置数据类型及使用方法
2022/04/13 Python