python中template的用法,python中template函数

本文介绍了Python中Template类的使用,包括如何创建模板实例,调用substitute和safe_substitute方法进行字符串格式化,以及注意事项。同时提到了DjangoORM和列表操作等其他相关主题。
部署运行你感兴趣的模型镜像

本篇文章给大家谈谈python中template的用法,以及python中template函数,希望对各位有所帮助,不要忘了收藏本站喔。

Python中Template是string中的一个类,可以将字符串的格式固定下来,重复利用。

from string import Template

s = Template("there are ${howmany} ${lang} Quotation symbols")

print s.substitute(lang='Python',howmany=3)

>>>there are 3 Python Quotation symbols

用法很简单,先生成一个模板实例s,然后调用替换函数substitute()将模板中的两个地方替换掉用python画简单笑脸代码。替换的内容是通过字典对调用的,所以下面(lang='Python',howmany=3)出现的顺序可以不用严格的和模板中的一样。当然不用括号也是可以的。

from string import Template

s = Template("there are $howmany $lang Quotation symbols")

print s.substitute(lang='Python',howmany=3)

>>>there are 3 Python Quotation symbols

注意:在使用${howmany} ${lang}时候,括号里的内容和括号要紧贴着,不然会报错。

from string import Template

s = Template("there are ${ howmany } ${lang} Quotation symbols")

print s.substitute(lang='Python',howmany=3)

>>>Traceback (most recent call last):

File "E:/�������/201703/DeepLearning/neural-networks-and-deep-learning-master/src/validation.py", line 39, in

print s.substitute(lang='Python',howmany=3)

File "C:\Users\wangxin\Anaconda2\lib\string.py", line 176, in substitute

return self.pattern.sub(convert, self.template)

File "C:\Users\wangxin\Anaconda2\lib\string.py", line 173, in convert

self._invalid(mo)

File "C:\Users\wangxin\Anaconda2\lib\string.py", line 146, in _invalid

(lineno, colno))

ValueError: Invalid placeholder in string: line 1, col 11

当然在使用substitute()的时候,对应的关键字和值都要给出,不然会报错。

from string import Template

s = Template("there are ${ howmany } ${lang} Quotation symbols")

print s.substitute(lang='Python')

>>>Traceback (most recent call last):

File "E:/�������/201703/DeepLearning/neural-networks-and-deep-learning-master/src/validation.py", line 39, in

print s.substitute(lang='Python')

File "C:\Users\wangxin\Anaconda2\lib\string.py", line 176, in substitute

return self.pattern.sub(convert, self.template)

File "C:\Users\wangxin\Anaconda2\lib\string.py", line 166, in convert

val = mapping[named]

KeyError: 'howmany'

使用safe_substitute()可以避免报错.

from string import Template

s = Template("there are ${howmany} ${lang} Quotation symbols")

print s.safe_substitute(lang='Python')

>>>there are ${howmany} Python Quotation symbols

【每日一个小技巧】Python | input的提示信息换行输出,提示信息用变量表示

[每日一个小技巧]Python | input的提示信息换行输出,提示信息用变量表示 在书写代码的途中,经常会实现这样功能: 请输入下列选项前的序号: 1.选择1 2.选择2 3.选择3 在pytho ...

Django中的ORM框架使用小技巧

Django中的ORM框架使用小技巧 作者:尹正杰  版权声明:原创作品,谢绝转载!否则将追究法律责任. Django对各个数据提供了很好的支持,包括PostgreSQL,MySQL,SQLite ...

Python对list操作的一些小技巧

Python对list操作的一些小技巧  由于要搞数学建模,于是从熟悉已久的C++转战Python.虽然才上手,但是Python的语法糖就让我大呼过瘾.不得不说相比于C/C++,Python对于数据的 ...

快速掌握iOS API的一个小技巧

快速掌握iOS API的一个小技巧 周银辉 iOS SDK和Developer Library中提供了各个类以及函数的帮助文档,这很棒,但要想了解整个库的大体结构(比如UIKit下有哪些类,他们的继承 ...

【flash】关于flash的制作透明gif的一个小技巧

关于flash的制作透明gif的一个小技巧 或者说是一个需要注意的地方 1.导出影片|gif,得到的肯定是不透明的.2.想要透明背景,必须通过发布.3.flash中想要发布gif动画的话,不能有文字, ...

Python 练习冊,每天一个小程序

您可能感兴趣的与本文相关的镜像

Llama Factory

Llama Factory

模型微调
LLama-Factory

LLaMA Factory 是一个简单易用且高效的大型语言模型(Large Language Model)训练与微调平台。通过 LLaMA Factory,可以在无需编写任何代码的前提下,在本地完成上百种预训练模型的微调

在Django模板中使用Python函数,通常有以下几种常见方法: ### 1. 视图函数中调用Python函数并传递结果到模板 在视图函数里调用Python函数,把函数的返回值作为上下文变量传递给模板。例如,假设有一个计算平方的Python函数: ```python # views.py from django.shortcuts import render def square(num): return num * num def index(request): result = square(5) return render(request, 'booktest/index.html', {'result': result}) ``` 在模板文件 `booktest/index.html` 中可以这样使用这个结果: ```html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> </head> <body> The square result is: {{ result }} </body> </html> ``` ### 2. 自定义模板标签和过滤器 可以自定义模板标签和过滤器来使用Python函数。 #### 自定义过滤器示例 首先,在应用目录下创建一个 `templatetags` 文件夹,在该文件夹内创建一个 Python 文件,比如 `custom_filters.py`: ```python # templatetags/custom_filters.py from django import template register = template.Library() def square_filter(value): return value * value register.filter('square', square_filter) ``` 在模板文件中使用自定义过滤器: ```html {% load custom_filters %} <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> </head> <body> The square of 5 is: {{ 5|square }} </body> </html> ``` #### 自定义标签示例 在 `templatetags` 文件夹下的 Python 文件中定义自定义标签: ```python # templatetags/custom_tags.py from django import template register = template.Library() @register.simple_tag def multiply(a, b): return a * b ``` 在模板文件中使用自定义标签: ```html {% load custom_tags %} <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> </head> <body> The result of 3 multiplied by 4 is: {% multiply 3 4 %} </body> </html> ``` ### 3. 使用 Jinja2 模板引擎 Jinja2 是 Python 下一个被广泛应用的模板引擎,它的设计思想来源于 Django 的模板引擎,并扩展了其语法和一系列强大的功能。可以在 Django 中配置使用 Jinja2 模板引擎,在 Jinja2 中可以更方便地使用 Python 函数。要使用 Jinja2,需要先安装它: ```bash pip install Jinja2 ``` 然后在 Django 的设置文件中配置 Jinja2: ```python # settings.py TEMPLATES = [ { 'BACKEND': 'django.template.backends.jinja2.Jinja2', 'DIRS': [], 'APP_DIRS': True, 'OPTIONS': { 'environment': 'your_project.jinja2.environment', }, }, ] ``` 在 Jinja2 的环境配置文件中可以定义和使用 Python 函数: ```python # your_project/jinja2.py from jinja2 import Environment def environment(**options): env = Environment(**options) def square(num): return num * num env.globals.update({ 'square': square }) return env ``` 在 Jinja2 模板中使用定义的函数: ```html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> </head> <body> The square of 6 is: {{ square(6) }} </body> </html> ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值