[笔记]python template 模板

1.什么是template

template是python中的string库的一部分
使用template可以不编辑应用就可以改变其中的数据
模板还可以被他的子类修改

2. template如何工作的

template是含有占位符的字符串
用字典将值映射到模板中
占位符后面跟着的变量名要符合python语法中的变量名规则
Template(“$name is friends with $friend”)

3.举例

from string import Template


def main():
    cart = []
    cart.append(dict(item='coke',price=11,qty= 1))
    cart.append(dict(item='cake',price=12,qty=6))
    cart.append(dict(item='fish',price = 1,qty =4))

    t = Template("$qty * $item = $price")
    total = 0
    print "Cart"
    for data in cart:
        print t.substitute(data)
        total += data["price"]

    print "Total: %s"%(total,)


if __name__ == "__main__":
    main()

4.template 异常error

占位符所引导的变量没与字典匹配的话,解释器会抛出KeyError。因为我们的字典里没有这个键。
一些占位符引导的变量是不好的。比如,这个变量以数字开头。这会使解释器抛出ValueError异常。

5. safe_substitute()

如果我们使用这个函数,template可以处理这些异常并返回给我们字符串。
如果哪个占位符变量有异常,返回的这个字符串中这个占位符就没有变化,不会被替代。
比如,Template(“$name had $money”).如果money这里有错误,那么使用safe_substitute()后输出的就是“James had $money”

6.可以使用自己喜欢的符号引导占位变量

我们要做的就是重载类属性delimiter,并修改相应的模板字符串和变量。这里我们用C语言的取地址符号替代默认的美元$符号。
from string import Template


class MyTemplate(Template):
    delimiter = '&'

def main():
    cart = []
    cart.append(dict(item='coke',price=11,qty= 1))
    cart.append(dict(item='cake',price=12,qty=6))
    cart.append(dict(item='fish',price = 1,qty =4))

    t = MyTemplate("&qty * &item = &price")
    total = 0
    print "Cart"
    for data in cart:
        print t.substitute(data)
        total += data["price"]

    print "Total: %s"%(total,)


if __name__ == "__main__":
    main()
运行结果还是一样的。

Cart
1 * coke = 11
6 * cake = 12
4 * fish = 1
Total: 24

7.小提示

如果你行输出delimiter的话,就要连续输入两个delimiter。可以认为,delimiter就是转义符。比如,在delimiter是’$’的情况下:

>>> t = Template(“$you owe me $$0.”)
>>> t.substitute(dict(you=’James’))
“James owe me $0.”

如果你还想改变占位符后面的变量名的命名规则,这也可以。继承Template类之后,改变类属性idpattern,其默认值为r”[_a-z][_a-z0-9]*”。
如果你还有需求,想要改变一个单词的某一部分。这也行。只需将占位符后面的变量名加上{}。比如:

>>> t = Template(“The ${back}yard is far away.”)
>>> t.substitute(dict(back=’ship’))
“The shipyard is far away.”

  • 5
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要基于Python和Flask建立一个学习笔记系统,你可以按照以下步骤进行: 1. 安装Python和Flask:首先,确保你的计算机上安装了Python。然后,使用pip命令安装Flask框架。在命令行执行以下命令: ``` pip install Flask ``` 2. 创建Flask应用:在你选择的目录下创建一个新的文件夹,用于存放你的应用程序。进入该文件夹,并创建一个名为app.py的Python脚本文件。 3. 导入依赖:在app.py文件,导入必要的模块和库: ```python from flask import Flask, render_template, request ``` 4. 初始化Flask应用:在app.py文件,初始化Flask应用: ```python app = Flask(__name__) ``` 5. 创建路由和视图函数:根据你的学习笔记系统的需求,创建不同的路由和对应的视图函数。例如,你可以创建一个用于显示学习笔记列表的路由: ```python @app.route('/notes') def notes(): # 在这里编写代码来获取学习笔记列表,并将其传递给模板 return render_template('notes.html', notes=notes_list) ``` 6. 创建模板:在你的应用程序文件夹创建一个名为templates的文件夹,并在其创建一个名为notes.html的模板文件。在模板文件,你可以使用Flask提供的模板语法来显示学习笔记列表: ```html <h1>学习笔记列表</h1> <ul> {% for note in notes %} <li>{{ note }}</li> {% endfor %} </ul> ``` 7. 运行应用:在命令行,使用以下命令运行你的应用: ``` python app.py ``` 现在,你的基于Python和Flask的学习笔记系统就可以运行了。你可以根据需要添加更多的路由和视图函数,以及其他功能如添加、编辑和删除学习笔记等。同时,你可以探索Flask的文档和教程,以深入了解如何构建更复杂的应用程序。祝你成功!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值