cheetah 空值 处理

最近需要用使用python的模板语言来做一些工作,所以自己研究了下 cheetah,最主要的是空值的处理,之前看到大部分人都是使用 try  except 来处理


#try 
$title
#except 
#'' 
#end try


我感觉这也可以算是一种处理方式吧,通过以前使用java的各种模板语言,我感觉cheetah 肯定会提供处理空值的方法,所以我毅然决定了去读一下cheetah 的api,果然有处理方式,下面是api中一段文字


5.7 Missing Values If NameMapper can not find a Python value for a Cheetah variable name, it will raise the NameMapper.NotFound exception. You can use the #errorCatcher directive (section 10.2) or errorCatcher Template constructor argument (section 4.1) to specify an alternate behaviour. BUT BE AWARE THAT errorCatcher IS ONLY INTENDED FOR DEBUGGING! 
To provide a default value for a placeholder, write it like this: $getVar('varName', 'default value'). If you don't specify a default and the variable is missing, NameMapper.NotFound will be raised.


啥也不说了直接上模板代码

#encoding UTF-8
#set $current_time=time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(time.time()))
<meta http-equiv="Content-Type" content="text/html;charset=utf-8 "/>
<html>
<title>$title</title>
<body>
    <h1>$getVar('subject', '')</h1>
    <table>
        <tr>
            <td>
                时间
            </td>
            <td>$current_time</td>
        </tr>
        #for $item in $getVar('state', '')
        <tr>
            <td>$getVar('item.name', 'default name')</td>
            <td>$getVar('item.value', 'default value')</td>
        </tr>
        #end for
    </table>
</body>
</html>
不知道大家能看懂了不  呵呵







你可能感兴趣的:(python,null,cheetah,空值)