1

我正在尝试为应用程序提供一个基本模板,其中一个目标是从页面中删除任何不必要的 js/css,所以我想在 cheetah 模板中做一些事情,比如

#if $dict.has_key('datepicker'):
  <link rel="stylesheet" href="$datepicker" type="text/css" />
#end if

我认为这也有助于解决诸如名称映射没有键'datepicker'之类的错误

我目前使用 WSGIHandler 遇到的错误是

TypeError: descriptor 'has_key' requires a 'dict' object but received a 'str'

我觉得这与我将处理程序的返回转换为 str 但不应该在模板到达 str 之前对其进行解析

t = Template(file=WORKSPACE_PATH+"/tmpl/posts.html", searchList=[tmpldict])
self.response_body = str(t).encode('utf8')
return str(t)
4

1 回答 1

1

错误是这样的:

dict.has_key('datepicker')

“dict”是一个类,所以它期望“dict.has_key”的第一个参数是“dict”的一个实例。

您传递的是字符串而不是 dict 对象。

基本上,“d.has_key(k)”等价于“dict.has_key(d, k)”,你有后者。

于 2011-06-03T18:56:43.877 回答