codecamp

CherryPy 孩子的属性

以下是孩子的属性 -

基于XML的模板语言

它是一种基于XML的语言。 Kid模板必须是格式良好的XML文档,并具有适当的命名约定。

Kid在XML元素中实现属性,以更新到达元素时要遵循的操作的底层引擎。 为了避免与XML文档中的其他现有属性重叠,Kid引入了自己的命名空间。

<p py:if = "...">...</p>

可变替代

Kid带有变量替换方案和简单方法 - $ {variable-name}。

变量既可以用在元素的属性中,也可以用作元素的文本内容。 Kid会在每次执行时评估变量。

如果用户需要将文字字符串的输出作为$ {something},则可以通过将美元符号加倍来使用变量替换来转义它。

Conditional 语句

要在模板中切换不同的大小写,请使用以下语法 -

<tag py:if = "expression">...</tag>

这里,tag是元素的名称,例如DIV或SPAN。

表达式是Python表达式。 如果作为布尔值计算为True,则元素将包含在输出内容中,否则它将不是输出内容的一部分。

循环机制

对于在Kid中循环元素,使用以下语法 -

<tag py:for = "expression">...</tag>

这里,tag是元素的名称。 表达式是Python表达式,例如[...]中的值。

例子 (Example)

以下代码显示了循环机制的工作原理 -

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
   <head>
      <title>${title}</title>
      <link rel = "stylesheet" href = "style.css" />
   </head>
   <body>
      <table>
         <caption>A few songs</caption>
         <tr>
            <th>Artist</th>
            <th>Album</th>
            <th>Title</th>
         </tr>
         <tr py:for = "info in infos">
            <td>${info['artist']}</td>
            <td>${info['album']}</td>
            <td>${info['song']}</td>
         </tr>
      </table>
   </body>
</html>
import kid
params = discography.retrieve_songs()
t = kid.Template('songs.kid', **params)
print t.serialize(output='html')

具有循环机制的上述代码的output如下 -

循环输出


CherryPy 孩子 - 模板引擎
CherryPy AJAX
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

CherryPy 一个工作应用程序

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }