云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > webpy

webpy

  • 62 次阅读
  • 3 次下载
  • 2026/4/27 4:18:44

4.5模板语法

模板语法与python语法基本一致,主要差别可以从上面的代码中看到,要使用到$符号表明这不是文本而是模板代码。也就是每当用到程序代码、对象的时候就必须用$来与html代码和页面显示文本相区别。

4.5.1对象赋值

向对象赋值时需要在$与对象名之间留空格,如为一个名为vara的字符串对象赋值apple的代码为$ vara = “apple”。

另外,对象赋值语句必须独占一行,前面或后面有其他代码则会程序出错。

4.5.2对象引用

引用对象的时候直接使用$+对象名的形式,如$vara。

另外引用对象时还可以用{}或()将对象进行明确的分组,如$(vara)s就会表示apples,如果没有括号,程序则会把$ varas作为一个整体,也就变成对varas对象的引用而发生错误。 另如果向如下定义两个数字型对象: $ varb = 1 $ varc = 2

然后希望计算两个值的和,如果用$varb+$varc的形式,页面上只会得到1+2而不是3,这时也就需要把两个对象放在括号里,如$(varb+varc)的形式才能得到正确答案3。

4.5.3注释

模板中支持单行注释,以$#符号开始到行末都是注释内容。 $#This is comment

注释前面可以有其他内容,但是不可以有赋值代码。 如下代码是正确的: Hi $#This is comment

但下面的则会出错:

$ vara = “apple” $#This is comment

4.5.4Filtering 4.5.5打印$符号

由于$符号在模板中有特殊用途,所以在页面上输出$时需要进行转义操作,用连续两个$表示在页面上输出一个$符号。 Can you lend me $$50?

4.5.6控制代码(循环、条件判断)

模板中支持for、while、if、elif、else,用法与在python一致,只是控制代码行要以$开始(包括break和continue命令),$开始的代码行中对象不需要在前面再加$符号,同时要注意缩进规则,如:

$for i in range(10): line:$i

但要是第二行代码与for行代码写在同一行中,i对象前还是需要有$的: $for i in range(10):line:$i
While循环: $while a: hello $a.pop() if else判断: $if times > max:

Stop! In the name of love. $else:

Keep on, you can do it.

在for循环中,有一组内置的变量可以使用,非常方便,分别如下所示:

loop.index: 循环次数计数 (1-开始) loop.index0: 循环次数计数(0-开始) loop.first: 如果是第一次循环则为True loop.last: 如果是最后一次循环则为True loop.odd: 如果是第奇数次循环则为True loop.even: 如果是第偶数次循环则为True

loop.parity: 如果循环次数为奇数值为“odd” ,反之为 “even” loop.parent: 本循环的外层循环对象 $for a in [\

$loop.index,$loop.index0,$loop.first,$loop.last,$loop.odd,$loop.even,$loop.parity
将在页面上打印出:

1,0,True,False,True,False,odd 2,1,False,False,False,True,even 3,2,False,False,True,False,odd 4,3,False,True,False,True,even

4.5.7函数-$def

函数定义也是与在python中类似,用def,只是也要在前面加$,代码也要注意$的使用和缩进: $def hello(name=”\ Hello $name!

函数调用也是用$加函数名的形式: $hello(“Lisa”)

当然,定义函数时也可以与html代码混编: $def hello(name=”\

Hello $name!

但是调用的时候需要在函数名前用$:前缀,否则html代码将以plain text形式打印到页面上。 $:hello(“Lisa”)

4.5.8输出程序代码-$code块

如果想在模板里输入写一段python代码而又不想被$所烦恼,那么可以用到$code块。 页面上输出一段代码而不希望被系统理解为模板程序代码,就需要用到$code命令,比如在模板文件中写入下面一段: $code: x=10

def print_num(num): return “num is %d” % num 然后再加上下面代码: $print_num(x)
$x

这里就用在$code块中定义的print_num函数以x变量为参数在页面上输出一行: num is 10

然后下一行直接引用x变量,直接在页面上输出数字10。

4.5.9$var

$var命令可以在模板中定义变量,在其他地方引用此模板对象的时候可以访问此定义的变量。 比如我们可以在index.html中添加如下一行: $var vara: this is vara

表示定义了一个名为vara的变量,变量值是字符串this is vara。 把index的GET函数改为:

搜索更多关于: webpy 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

4.5模板语法 模板语法与python语法基本一致,主要差别可以从上面的代码中看到,要使用到$符号表明这不是文本而是模板代码。也就是每当用到程序代码、对象的时候就必须用$来与html代码和页面显示文本相区别。 4.5.1对象赋值 向对象赋值时需要在$与对象名之间留空格,如为一个名为vara的字符串对象赋值apple的代码为$ vara = “apple”。 另外,对象赋值语句必须独占一行,前面或后面有其他代码则会程序出错。 4.5.2对象引用 引用对象的时候直接使用$+对象名的形式,如$vara。 另外引用对象时还可以用{}或()将对象进行明确的分组,如$(vara)s就会表示apples,如果没有括号,程序则会把$ varas作为一个整体,也就变成对varas对象的引用而发生错误。 另

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com