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中函数传参详解
Jul 03 Python
用Python写王者荣耀刷金币脚本
Dec 21 Python
python实现拓扑排序的基本教程
Mar 11 Python
python 实现求解字符串集的最长公共前缀方法
Jul 20 Python
python实现简易数码时钟
Feb 19 Python
Python变量访问权限控制详解
Jun 29 Python
如何解决django-celery启动后迅速关闭
Oct 16 Python
python使用正则表达式(Regular Expression)方法超详细
Dec 30 Python
Python-openCV读RGB通道图实例
Jan 17 Python
新手入门学习python Numpy基础操作
Mar 02 Python
Keras中的两种模型:Sequential和Model用法
Jun 27 Python
PyCharm Community安装与配置的详细教程
Nov 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
DOTA2 6.87版本后新眼位详解攻略
2020/04/20 DOTA
mysql limit查询优化分析
2008/11/12 PHP
非常实用的php弹出错误警告函数扩展性强
2014/01/17 PHP
PHP工厂模式、单例模式与注册树模式实例详解
2019/06/03 PHP
JS多物体 任意值 链式 缓冲运动
2012/08/10 Javascript
javascript简单实现表格行间隔显示颜色并高亮显示
2013/11/29 Javascript
javascript实现选中复选框后相关输入框变灰不可用的方法
2015/08/11 Javascript
Node.js v8.0.0正式发布!看看带来了哪些主要新特性
2017/06/02 Javascript
深入理解React中何时使用箭头函数
2017/08/23 Javascript
解决IOS端微信H5页面软键盘弹起后页面下方留白的问题
2019/06/05 Javascript
原生js添加一个或多个类名的方法分析
2019/07/30 Javascript
JavaScript交换两个变量方法实例
2019/11/25 Javascript
Python常见数据结构详解
2014/07/24 Python
python 读取.csv文件数据到数组(矩阵)的实例讲解
2018/06/14 Python
python运行时强制刷新缓冲区的方法
2019/01/14 Python
Python实战之制作天气查询软件
2019/05/14 Python
python实现基于朴素贝叶斯的垃圾分类算法
2019/07/09 Python
python flask 如何修改默认端口号的方法步骤
2019/07/12 Python
Python 实例方法、类方法、静态方法的区别与作用
2019/08/14 Python
python脚本之一键移动自定格式文件方法实例
2019/09/02 Python
Python操作列表常用方法实例小结【创建、遍历、统计、切片等】
2019/10/25 Python
tensorflow 环境变量设置方式
2020/02/06 Python
Python函数调用追踪实现代码
2020/11/27 Python
html5调用摄像头功能的实现代码
2018/05/07 HTML / CSS
中科创达面试题
2016/12/28 面试题
获奖的大学生创业计划书
2014/01/05 职场文书
单位成立周年感言
2014/01/26 职场文书
助理政工师申报材料
2014/06/03 职场文书
自强自立美德少年事迹材料
2014/08/16 职场文书
小学竞选班长演讲稿
2014/09/09 职场文书
校长四风对照检查材料
2014/09/27 职场文书
个人更名证明
2015/06/23 职场文书
幼儿园国培研修日志
2015/11/13 职场文书
导游词之大雁塔景区
2019/09/17 职场文书
jquery插件实现悬浮的菜单
2021/04/24 jQuery
Win11控制面板快捷键是什么?Win11打开控制面板的方法汇总
2022/07/07 数码科技